使用以下两个命令之一运行hive server有什么区别: hive --service hiveserver2 从 spark/sbin$ ./start-thriftserver.sh 运行hive thrift server 它们是否监听不同的端口? 我应该使用哪一个来在我的Java类中使用Apache Hive JDBC驱动程序建立JDBC连接?
Hiveserver2是Hive SQL引擎,可以使用map reduce、spark或tez作为执行引擎。Hive创建执行计划,然后调用执行引擎运行查询。优化由hive完成。我是一个重度Spark用户,但希望通过hue运行adhoc查询时也能使用Hive。经过一些研究,我发现Hive 1.2.1支持Spark 1.4.1作为执行引擎。Hive 2依赖于Spark 1.5,但我还没有尝试过使用1.5或1.6运行它。Spark thrift server可以替换Hive server 2,并使用Spark实际运行查询并执行自己的执行计划(可能比Hive更好),但可以让你访问其他Spark源,如rdds、文本文件等。当然,你可以使用最新版本的Spark运行thrift server。