Spark SQL

1.1.  Spark SQL概述

1.1.1.   什么是Spark SQL

 

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

1.1.2.   为什么要学习Spark SQL

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

1.易整合

2.统一的数据访问方式

 

3.兼容Hive

 

 

 

 

 

4.标准的数据连接

 

1.1.  DataFrames

1.1.1.   什么是DataFrames

与RDD类似,DataFrame也是一个分布式数据容器。然而DataFrame更像传统数据库的二维表格,除了数据以外,还记录数据的结构信息,即schema。同时,与Hive类似,DataFrame也支持嵌套数据类型(struct、array和map)。从API易用性的角度上 看,DataFrame API提供的是一套高层的关系操作,比函数式的RDD API要更加友好,门槛更低。由于与R和Pandas的DataFrame类似,Spark DataFrame很好地继承了传统单机数据分析的开发体验。

 

 

 

 

 

 

 

 

 

 

1.1.2.   创建DataFrames

 在Spark SQL中SQLContext是创建DataFrames和执行SQL的入口,在spark已经内置了一个sqlContext

hadoop fs -put person.txt /

 

 

 

posted @ 2017-08-25 11:42  卡丽熙  阅读(182)  评论(0编辑  收藏  举报