【问题标题】:Difference between hive thrift server from hive and spark distributionshive thrift 服务器与 hive 和 spark 发行版之间的区别
【发布时间】:2015-05-19 21:46:30
【问题描述】:
使用以下两个命令运行 hive 服务器有什么区别:-
hive --service hiveserver2
- 从
spark/sbin$ ./start-thriftserver.sh 运行 hive thrift 服务器
他们监听不同的端口吗?
在我的 Java 类中,我应该使用哪一个来使用 Apache Hive JDBC 驱动程序建立 JDBC 连接?
【问题讨论】:
标签:
java
hadoop
jdbc
hive
thrift
【解决方案1】:
我想两者都做同样的事情,除了当你从 spark 启动 Hive Thrift 服务器时,它会向 thrift server 添加一个 CLI 服务,这应该将 spark SQL 上下文添加到 thrift API。
【解决方案2】:
Hiveserver2 是hive sql 引擎,可以使用map reduce、spark 或tez 作为执行引擎。 Hive 创建执行计划,然后调用执行引擎来运行查询。优化由 hive 完成。
我是一个重度 spark 用户,但希望 hive 可用于通过 hue 运行即席查询。经过一些研究,我可以看到 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服务器。