我想请问一下 hive on spark 和sparkSQL on hive 那个更好 或者就是一回事呢

0
已邀请:
0

Bob - 同程旅游大数据+BI 架构师 2016-12-22 回答

本质上就一回事情。都是使用spark sql来访问hive的表和数据。
在访问过程中有两种形式:
1.你需要进行spark代码编程,来实现对hive的访问。
编程过程中需要引用HiveContent这个对象。
 
2.使用spark的jdbc来访问
在hive中有beeline 可以让你连接上。
示例:bin/beeline !connect jdbc:hive2://ip:端口
1

MarsJ - 大数据玩家~DS 2016-12-22 回答

两者的共同之处在于,底层都是Spark在执行查询语句;
 
不同之处在于,Hive on Spark是基于原有的Hive,将Hive的计算引擎从默认的MapReduce换成Spark,可以看成是从Hive的角度去做的,而Spark SQL on Hive则是在Spark中操作Hive中的数据表,是从Spark的角度去操作和使用的;
 
这两者都有各自的好处,但是Spark SQL本质基于Spark处理查询实际上能更好的与目前大数据行业中通用技术栈会比较贴合,因为Spark同时支持Streaming/MLLib/GraphX等,所以在选型时一般首选Spark SQL;而若是架构中原本就以Hive处理批量计算,则将Hive的MR引擎换成Spark也是能大大提升其速度的。yao要注意的是,无论哪一种,底层实现计算的都是Spark Engine。

要回复问题请先登录注册