Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

HS2 is a single process running as a composite service, which includes the Thrift based Hive service (TCP or HTTP) and a Jetty web server for web UI. You can specify the transport mode of the Thrift service through the hive config: "hive.server2.transport.mode". 

The Thrift based Hive service is the core of HS2 and responsible for servicing the Hive queries (e.g. from Beeline). Thrift is a RPC framework for building cross-platform services. Its stack consists of 4 layers: Server, Transport, Protocol and Processor. You can find more details about the layers at: https://thrift.apache.org/docs/concepts.

...

HTTP mode is required when a proxy is needed between the client and server (for example, for load balancing or security reasons). That's why it's supported as well as TCP mode. You can specify the transport mode of the Thrift service through the hive config: "hive.server2.transport.mode".

Protocol

...

The Protocol implementation is responsible for serialization/deserialization. We are currently using TBinaryProtocol as our thrift protocol for serialization. In future we may think about other protocols such as TCompactProtocol based on performance evaluation.