Kyuubi vs HiveServer vs Spark Thrift Server
Kyuubi, Spark Thrift Server, and HiveServer share the same interfaces and protocols, making their usage similar for users. The main advantage of Kyuubi and Spark Thrift Server over HiveServer is improved performance.
In the table below, you can see how Kyuubi compares to HiveServer and Spark Thrift Server in performance and feature availability.
Feature | HiveServer | Spark ThriftServer | Kyuubi |
---|---|---|---|
Interface |
HiveJDBC |
HiveJDBC |
HiveJDBC |
SQL syntax |
Hive QL |
Spark SQL |
Spark SQL |
SQL optimizer |
Hive Optimizer |
Spark SQL Catalyst |
Spark SQL Catalyst |
SQL parsing & planning |
Server side |
Server side |
Engine side |
UDF loading |
Server side |
Server side |
Engine side |
Job submission |
A query is split into multiple Spark applications, called |
Within the server |
Via Kyuubi engines with different isolation policies |
Spark compatibility |
Single version-specific |
Built-in |
Multi-version |
Catalog management |
HMS |
HMS |
HMS |
High availability |
Yes |
No |
Yes |
Multitenancy |
Yes |
No |
Yes |
Permission control |
SQL standard, fine-grained |
No |
SQL standard, fine-grained |
Performance |
Fair |
Good |
Good |
Client concurrency |
High |
Low |
High |
Queuing |
For queries |
No |
For engines |
Resource setting |
For queries |
For pools |
For engines |
Resource management |
YARN |
Pools |
YARN, Kubernetes, etc. |
Resource occupancy time |
Within a query |
Permanent |
Several modes supported depending on a share level, including dynamic resource allocation, available for all |