Spark大数据分析实战
上QQ阅读APP看书,第一时间看更新

3.1 SQL on Spark参考文章:高彦杰,陈冠诚Spark SQL:基于内存的大数据分析引擎《程序员》2014.8

AMPLab将大数据分析负载分为三大类型:批量数据处理、交互式查询、实时流处理。而其中很重要的一环便是交互式查询。大数据分析栈中需要满足用户ad-hoc、reporting、iterative等类型的查询需求,也需要提供SQL接口来兼容原有数据库用户的使用习惯,同时也需要SQL能够进行关系模式的重组。完成这些重要的SQL任务的便是Spark SQL和Shark这两个开源分布式大数据查询引擎,它们可以理解为轻量级Hive SQL在Spark上的实现,业界将该类技术统称为SQL on Hadoop。

在Spark峰会2014上,Databricks宣布不再支持Shark的开发,全力以赴开发Shark的下一代技术Spark SQL,同时Hive社区也启动了Hive on Spark项目,将Spark作为Hive(除MapReduce和Tez之外的)新执行引擎。根据伯克利的Big Data Benchmark测试对比数据,Shark的In Memory性能可以达到Hive的100倍,即使是On Disk也能达到10倍的性能提升,是Hive强有力的替代解决方案。而作为Shark的进化版本的Spark SQL,在AMPLab最新的测试中的性能已经超过Shark。图3-2展示了Spark SQL和Hive on Spark是新的发展方向。

图3-2 Spark SQL和Hive on Spark是新的发展方向