更新时间:2021年10月29日16时53分 来源:传智教育 浏览次数:
Spark SQL的前身是Shark,Shark最初是美国加州大学伯克利分校的实验室开发的Spark生态系统的组件之一,它运行在Spark系统之上,Shark重用了Hive的工作机制,并直接继承了Hive的各个组件,Shark将SQL语句的转换从MapReduce作业替换成了Spark作业,虽然这样提高了计算效率,但由于Shark过于依赖Hive,因此在版本迭代时很难添加新的优化策略,从而限制了Spark的发展,在2014年,伯克利实验室停止了对Shark的维护,转向Spark SQL的开发。Spark SQL主要提供了以下3个功能。
(1)SparkSQL可以从各种结构化数据源(如JSON、Hive、Parquet等)中读取数据,进行数据分析。
(2)Spark SQL包含行业标准的JDBC和ODBC连接方式,因此它不局限于在Spark程序内使用SQL语句进行查询。
(3)SparkSQL可以无缝地将SQL查询与Spark程序进行结合,它能够将结构化数据作为Spark中的分布式数据集(RDD)进行查询,在Python、Scala和Java中均集成了相关API,这种紧密的集成方式能够轻松地运行SQL查询以及复杂的分析算法。
总体来说,SparkSQL支持多种数据源的查询和加载,兼容Hive,可以使用JDBC/ODBC的连接方式来执行SQL语句,它为Spark框架在结构化数据分析方面提供重要的技术支持。
猜你喜欢: