SparkSQL
SparkSQL
是什么
SparkSQL是Spark中的一个模块,用来进行结构化数据的处理
-
特点
-
兼容SparkCore
SparkSQL提供了DataFrame、Dataset两种新的数据抽象,可以完成类似RDD的算子操作也可以直接执行兼容HQL语法的SQL语句
也允许在同一个Spark程序中使用SQL和算子混合编程 -
支持统一的数据访问方式
SparkSQL预置了 文本文件、JDBC、Hive数据仓库等若干种数据连接方式,可以使用相同的API进行数据的输入输出 -
SparkSQL完全兼容Hive
支持直接在原有的Hive数据仓库中运行SparkSQL程序,
也兼容Hive的UDF和序列化方式。
-
SparkSQL编程
新的程序入口
- SparkSession
新的数据抽象
- DataFrame
- Dataset
SparkSQL与Hive的关系
SparkSQL将Hive可以继续使用的模块直接封装到SparkSQL,又提供了更加全面的支持算子操作的DatasetApi
SparkSQL使用hive的hive-site.xml 可以启动一个与Hive客户端功能相似的Spark-sql客户端完全替代Hive的功能