SparkSQL将RDD封装成一个DataFrame对象,这个对象类似于关系型数据库中的表。

一、SparkSQL入门

1、创建DataFrame

  相当于数据库中的一张表,它是一个只读的表,不能在运算过程中再往里加元素。RDD.toDF("列名")

  

2、创建多列DataFrame对象

1)2列DataFrame

2)3列DataFrame

3、外部文件构造DataFrame

1)txt文件

  txt文件不能直接转化成DataFrame,先利用RDD转换成tuple,然后toDF()转换为DataFrame

2)json文件

3)jdbc读取

  实现步骤:

    ①将mysql的驱动jar包上传至Spark的jars目录下

    ②重启Spark服务

    ③进入spark客户端

    ④执行代码,比如在mysql的数据库下有一个test_db库,在test_db库下有一张表为cust_info

二、SparkSQL基础语法(方法)

三、SparkSQL基础语法(sql语句)

四、SparkSQL API

1、编写Scala代码

2、打jar包并上传至服务器

3、在spark的bin目录下执行

  sh spark-submit --class demo01 ./sparksql-demo-1.0.jar ,执行后出现如下结果:

4、查看结果文件

  

SparkSQL个人记录的更多相关文章

  1. Spark记录-SparkSQL相关学习

    $spark-sql  --help  查看帮助命令 $设置任务个数,在这里修改为20个 spark-sql>SET spark.sql.shuffle.partitions=20; $选择数据 ...

  2. spark-sql访问hive的问题记录

    好久没有弄博客了... hive0.14 spark0.12 [hadoop@irs bin]$ ./spark-sql Spark assembly has been built with Hive ...

  3. Spark记录-SparkSql官方文档中文翻译(部分转载)

    1 概述(Overview) Spark SQL是Spark的一个组件,用于结构化数据的计算.Spark SQL提供了一个称为DataFrames的编程抽象,DataFrames可以充当分布式SQL查 ...

  4. presto,dremio,spark-sql与ranger的整合记录

    dremio,spark-sql,presto和ranger的整合 当前,ranger没有现成的插件来管理dremio,spark-sql,presto. 暂时使用的方法是新建一个用户,如presto ...

  5. Spark记录-SparkSQL远程操作MySQL和ORACLE

    1.项目引入mysql和oracle驱动 2.将mysql和oracle驱动上传到hdfs 3.远程调试源代码如下: import org.apache.spark.sql.SQLContext im ...

  6. Spark记录-SparkSQL一些操作

    scala>val spark=new org.apache.spark.sql.SQLContext(sc) user.json {"age":"45" ...

  7. Spark记录-SparkSQL

    Spark SQL的一个用途是执行SQL查询.Spark SQL也可以用来从现有的Hive安装中读取数据.有关如何配置此功能的更多信息,请参阅Hive表部分.从另一种编程语言中运行SQL时,结果将作为 ...

  8. Spark入门实战系列--6.SparkSQL(上)--SparkSQL简介

    [注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .SparkSQL的发展历程 1.1 Hive and Shark SparkSQL的前身是 ...

  9. SparkSQL相关语句总结

    1.in 不支持子查询 eg. select * from src where key in(select key from test); 支持查询个数 eg. select * from src w ...

随机推荐

  1. php函数的巧妙应用

    直接切入正题: 1.extract();函数从数组中把变量导入到当前的符号表中 对于数组中的每个元素,键名用于变量名,键值用于变量值. 第二个参数 type 用于指定当某个变量已经存在,而数组中又有同 ...

  2. JS 动态改变浏览器title标题

    onfocus 和 onblur 事件,监听离开页面和进入页面 <script> window.onfocus = function () { document.title = '要走的人 ...

  3. 浅谈C#委托的用法-delegate[转]

    一.委托的概念 委托和类一样是一种用户自定义类型,它存储的就是一系列具有相同签名和返回类型的方法的地址,调用委托的时候,它所包含的所有方法都会被执行. 借用百度上的一句话概括:委托是一个类,它定义了方 ...

  4. socket编程执行远程命令实现_python

    一.单客户端连接的例子: 服务端: import socket,os,subprocess server=socket.socket() server.bind(('localhost',1234)) ...

  5. redis安装并设置开机启动

    1.下载并上传redis安装包至linux服务器目录:/usr/local/redis. 2.解压:tar -zxvf redis-5.0.7.tar.gz 3.编译安装:make && ...

  6. [TJOI2007] 路标设置 - 二分答案,贪心

    考虑到答案满足可二分性,段内可以贪心,所以暴力二分即可 注意-1 详见代码(我这题都能写WA) #include <bits/stdc++.h> using namespace std; ...

  7. Wannafly Camp 2020 Day 6M 自闭 - 模拟

    按题意模拟,又乱又烦,没什么可说的 #include <bits/stdc++.h> using namespace std; #define int long long int n,m, ...

  8. PP: Triple-shapelet networks for time series classification

    Problem: time series classification shapelet-based method: two issues 1. for multi-class imbalanced ...

  9. Yaf自定义autoload以实现Model文件和Controller文件命名区分

    先上图: 由于Yaf作者在设计Yaf框架目录时没有直接区分开models文件和controllers文件,所以在IDE看着会很难受,眼睛离开了编辑器就不大好区分这两个文件夹的文件.所以自己写了一个au ...

  10. Selenium3+python自动化011-unittest生成测试报告(HTMLTestRunner)

    批量执行完用例后,生成的测试报告是文本形式的,不够直观,为了更好的展示测试报告,最好是生成HTML格式的. unittest里面是不能生成html格式报告的,需要导入一个第三方的模块:HTMLTest ...