Spark Thrift 服务器与 Apache Thirft 的关系

pac*_*man 5 apache-spark

在 quora上读过一篇文章,它告诉我们Spark Thrift服务器与Apache Thrift相关,Apache Thrift是一种二进制通信协议。Spark Thrift 服务器是Hive 的接口,但是Spark Thrift 服务器是如何使用Apache Thrift 通过二进制协议/rpc 与Hive 通信的呢?

T. *_*ęda 4

Spark Thrift Server 是 Spark 的 Hive 兼容接口。

这意味着,它创建 的实现HiveServer2,您可以连接beeline,但是几乎所有计算都将使用 Spark 而不是 Hive 进行计算。

在以前的版本中,查询解析器来自 Hive。目前 Spark Thrift Server 与 Spark 查询解析器配合使用。

Apache Thrift 是一个开发 RPC(远程过程调用)的框架,因此有许多使用 Thrift 的实现。Cassandra还使用了Thrift,现在它被Cassandra本机协议取代。

所以,Apache Thrift是一个开发RPC的框架,Spark Thrift Server是Hive协议的实现,但它使用Spark作为计算框架。

有关更多详细信息,请参阅@RussS 的此链接

  • 一段历史——当 Google 开源他们的 ProtocolBuffer 二进制消息格式时,他们没有开放他们专用的 PB 服务器。当 Facebook 开源他们的 Thrift 二进制消息格式时,他们还提供了一个开箱即用的 Thrift 服务器。HDFS 和 HBase 选择了具有自定义服务器实现和大量性能调整的 PB。Hive 按原样选择了 Thrift。 (2认同)