SparkSQL

Spark SQL是Spark用于处理结构化数据的模块,提供DataFrame和DataSet编程抽象,作为分布式SQL查询引擎。相比Hive通过MapReduce执行SQL,Spark SQL将SQL转换为RDD,执行效率更高。DataFrame具备schema,支持多种创建、展示和查询方式,包括SQL风格和DSL风格。DataSet是DataFrame的扩展,具备类型安全和查询优化。DataFrame和DataSet可相互转换,与RDD也有交互。三者在Spark中作为弹性数据集,具有惰性机制和相似操作,但RDD不支持SQL,DataFrame的Row类型访问需解析,而Dataset提供更强的类型信息。
摘要由CSDN通过智能技术生成

1、Spark SQL是Spark用来处理结构化数据的一个模块,它提供了2个编程抽象:DataFrame和DataSet,并且作为分布式SQL查询引擎的作用。

Hive,它是将Hive SQL转换成MapReduce然后提交到集群上执行,大大简化了编写MapReduc的程序的复杂性,由于MapReduce这种计算模型执行效率比较慢。所有Spark SQL的应运而生,它是将Spark SQL转换成RDD,然后提交到集群执行,执行效率非常快!

2、DataFrame

与RDD类似,DataFrame也是一个分布式数据容器。然而DataFrame更像传统数据库的二维表格,除了数据以外,还记录数据的结构信息,即schema。

1)创建(从多个数据源进行创建)

spark.read.

2)展示

 df.show

3)SQL风格语法(主要)

创建临时表,并进行查询,临时表是Session范围内的,Session退出后,表就失效了。如果想应用范围内有效,可以使用全局表。注意使用全局表时需要全路径访问,如:global_temp.people

df.createOrReplaceTempView("people")

df.c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值