使用以下两个命令之一运行配置单元服务器之间有什么区别: -
hive --service hiveserver2
spark/sbin$ ./start-thriftserver.sh
他们在不同的端口上听吗?
我应该使用哪一个在我的Java类中使用Apache Hive JDBC驱动程序建立JDBC连接?
答案 0 :(得分:3)
Hiveserver2是hive sql引擎,它可以使用map reduce,spark或tez作为执行引擎。 Hive创建执行计划,然后调用执行引擎来运行查询。优化由配置单元完成。
我是一个沉重的火花用户,但希望hive可用于通过hue运行adhoc查询。经过一些研究,我可以看到hive 1.2.1支持upto spark 1.4.1作为执行引擎。 hive 2依赖于spark 1.5,但我没有尝试用1.5或1.6运行它。
spark thrift服务器可以替换hive服务器2,并使用spark实际运行查询并执行自己的执行计划(可能会或可能不会比hive更好),但可以访问其他火花源,如rdds ,文本文件等。当然,您可以使用最新版本的spark运行thrift服务器。
答案 1 :(得分:2)
我想两者都是一样的,除非你从spark启动Hive Thrift服务器,它会向thrift server添加一个CLI服务,它应该为thrift API添加spark SQL上下文。