SparkSQL的介绍第一章

Spark SQL
Spark SQL官方介绍
●官网
http://spark.apache.org/sql/
Spark SQL是Spark用来处理结构化数据的一个模块。
Spark SQL还提供了多种使用方式,包括DataFrames APIDatasets API
1、什么是SparkSQL?
用于处理结构化数据的Spark模块。
可以通过DataFrame和DataSet处理数据。
2、SparkSQL特点
1、易整合
可以使用java、scala、python、R等语言的API操作。
2、统一的数据访问
连接到任何数据源的方式相同。
3、兼容Hive
4、标准的数据连接(JDBC/ODBC)
3、SQL优缺点
优点:表达非常清晰,难度低、易学习。
缺点:复杂的业务需要复杂的SQL, 复杂分析,SQL嵌套较多。机器学习较难实现
4、Hive和SparkSQL
Hive是将SQL转为MapReduce
SparkSQL可以理解成是将SQL解析成’RDD’ + 优化再执行
在这里插入图片描述
5、SparkSQL中的两个抽象
什么RDD??
弹性分布式数据集。
在这里插入图片描述
什么是DataFrame?
DataFrame是一种以RDD为基础的带有Schema元信息的分布式数据集,类似于传统数据库的二维表格 。
在这里插入图片描述
什么是DataSaet??
含有类型信息的DataFrame就是DataSet
(DataSaet=DataFrame+类型= Schema+RDD*n+类型)
DataSet包含了DataFrame的功能
在这里插入图片描述
RDD、DataFrame、DataSet的区别
结构图解:
在这里插入图片描述
RDD[Person]
以Person为类型参数,但不了解 其内部结构。
DataFrame
提供了详细的结构信息schema列的名称和类型。这样看起来就像一张表了
DataSet[Person]
不光有schema信息,还有类型信息

发布了238 篇原创文章 · 获赞 429 · 访问量 25万+

猜你喜欢

转载自blog.csdn.net/qq_45765882/article/details/105560112