Hive on Spark与SparkSQL
Hive是Hadoop中的标准SQL引擎,也是最古老的引擎之一。Hive on Spark为我们立即提供了Hive和Spark的所有巨大优势。它最初是作为数据仓库(DW)工具构建的,现在它具有轻松交换执行引擎的功能,因此更具吸引力。简而言之,使用Hive on Spark,您的查询将由Hive优化器优化,最后执行Spark作业。与默认MR相比,其他所有Hive功能仍保持完整,但具有更快,更优化的执行引擎。Hive已经存在了很长时间,并且得到了更好的社区支持。从Cloudera开始,Hive on Spark可以从CDH 5.7开始进行生产。Hive具有比SparkSQL更好的SQL支持,并具有使用HiveServer2进行身份验证的更好的安全性功能。以下图片显示Hive如何在内部将Spark作为执行引擎工作?
SparkSQL是更新的SQL-on-Hadoop工具。它与Hive集成,并且默认情况下使用Hive Metastore来管理其元数据。它有自己的称为Catalyst的查询优化器,该优化器通过优化查询然后生成字节码来运行作业来构造运算符树。与Hive不同,这里没有切换执行引擎的选择。SparkSQL集成并与其他Spark库(例如Spark流,Spark核心等)无缝集成,例如可以将Java代码与SQL混合并与RDD一起玩,创建DataFrames等。现在有了这个库,Spark用户可以有选择地使用SQL构造在编写Spark管道时。下图概

本文探讨了Hive on Spark与SparkSQL在大数据处理中的应用和区别。Hive on Spark提供Hive的SQL优化及Spark的高效执行,而SparkSQL适合Spark开发人员,提供了SQL与Spark API的融合。文章还详细介绍了Spark的内存配置,如executor和driver的内存设置,以及动态分配策略。此外,针对Hive,讨论了如何调整并行性和利用执行器,以提高性能。
最低0.47元/天 解锁文章
3200

被折叠的 条评论
为什么被折叠?



