首页 理论教育 SparkSQL的发展历程解析

SparkSQL的发展历程解析

时间:2023-07-02 理论教育 版权反馈
【摘要】:SparkSQL发展历程图如图1-2所示。Databricks表示,Spark SQL将涵盖Shark的所有特性,用户可以从Shark 0.9进行无缝的升级。同时Databricks推出Spark SQL和Hiveon Spark。下面简单地介绍一下Shark及Shark项目终止的原因。Shark发布时,Hive可以说是SQL on Hadoop的唯一选择,负责将SQL编译成可扩展的MapReduce作业。鉴于Hive的性能及与Spark的兼容性,Shark项目由此而生。因此,为了更好地发展,给用户提供一个更好的体验,Databricks宣布终止Shark项目,从而将更多的精力放到Spark SQL上。

SparkSQL的发展历程解析

SparkSQL发展历程图如图1-2所示。

978-7-111-59197-9-Chapter01-4.jpg

图1-2 Spark SQL发展历程图

SparkSQL是从Shark发展而来的,2014年7月1日的Spark Summit上,Databricks宣布终止对Shark的开发,转向到Spark SQL上。Databricks表示,Spark SQL将涵盖Shark的所有特性,用户可以从Shark 0.9进行无缝的升级。同时Databricks推出Spark SQL和Hiveon Spark。其中Spark SQL是为Spark设计的一代新的SQL引擎,作为Spark生态中的一员继续发展,而不再受限于Hive,只是兼容Hive;而Hive on Spark是将Spark作为一个替代执行引擎提供给Hive的,从而为已经存在的Hive用户提供了一个迁往Spark的途径。

下面简单地介绍一下Shark及Shark项目终止的原因。(www.xing528.com)

Shark发布时,Hive可以说是SQL on Hadoop的唯一选择,负责将SQL编译成可扩展的MapReduce作业。鉴于Hive的性能及与Spark的兼容性,Shark项目由此而生。

Shark通过Hive的HQL(Hibernate Query Language)解析,把HQL翻译成Spark上的RDD操作,然后通过Hive的元数据获取数据库里的表信息,实际HDFS上的数据和文件,会由Shark获取并放到Spark上运算。

Shark的最大特性就是速度快以及与Hive的完全兼容,且可以在Shell模式下使用API,把HQL得到的结果集继续在Scala环境下运算,支持自己编写简单的机器学习或简单分析处理函数,对HQL结果进一步分析计算。

但是Shark更多的是对Hive的改造,替换了Hive的物理执行引擎,因此会有一个很快的速度。然而,不容忽视的是,Shark继承了大量的Hive代码,因此给进一步对其优化和维护带来了大量的麻烦。随着性能优化和先进分析整合的进一步加深,基于MapReduce设计的部分无疑成为整个项目的瓶颈。因此,为了更好地发展,给用户提供一个更好的体验,Databricks宣布终止Shark项目,从而将更多的精力放到Spark SQL上。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈