What is the Kyuubi Spark Listener Extension
masterQueryExecutionListener that parses SQL lineage after execution and writes the resulting lineage information to a JSON logger file.repository·master·Indexed 25 days ago
https://github.com/apache/kyuubiDocumentation for Apache Kyuubi, including guides for Kubernetes deployment via Helm, Docker Compose playground setup, and TPC-DS data generation and benchmarking. It covers Spark extensions such as Kyuubi Spark AuthZ for fine-grained security (column/row-level authorization and data masking) and Kyuubi Spark Lineage for SQL execution tracking. Additionally, it provides instructions for monitoring Kyuubi using Prometheus and Grafana.
QueryExecutionListener that parses SQL lineage after execution and writes the resulting lineage information to a JSON logger file.Kyuubi supports server-side extensions that allow administrators to inject custom functionality into specific Kyuubi server modules. These extensions are used to customize or enhance the core capabilities of the server.
Available extension types include:
Kyuubi Beeline is a Command Line Shell that uses a JDBC driver to connect to a Kyuubi server to execute queries. It is derived from Hive Beeline and supports most of its functionalities.
Note: Kyuubi Beeline only supports "remote mode". It has removed support for "embedded mode" because that mode is coupled with Apache Hive implementation details.
Kyuubi provides several ways for end-users to interact with the server without needing to manage server-side deployment. You can connect using standard database drivers or direct programmatic APIs:
Apache Kyuubi is a distributed, multi-tenant gateway designed to provide serverless SQL capabilities on data warehouses and lakehouses. It acts as a pure SQL gateway using the Thrift JDBC/ODBC interface, allowing users to manipulate large-scale data using extensible Spark SQL engines.
Key features include:
Kyuubi provides connectors for different engines to access data from various data sources. Depending on the engine you are using, you can access specific documentation for:
If the connector you require is not listed, you can report a feature request via the Kyuubi issue tracking system.
KyuubiConnection (available since version v1.4.0-incubating).To run a basic Kyuubi deployment, you need three primary components, all of which are JVM-based and require JAVA_HOME to be set:
kyuubi-beeline).| Component | Role | Version |
|---|---|---|
| Java | JRE | 8, 11, 17 |
| Kyuubi | Gateway/Beeline | |
| Spark | Engine | 3.3 to 3.5, 4.0 to 4.2 |
| Flink | Engine | 1.17 to 1.20 |
| Trino | Engine | N/A (use trino-client v411) |
| Doris | Engine | N/A |
| Hive | Engine | 2.1-cdh6, 2.3, 3.1 |
| Zookeeper | HA | >=3.4.x |
Securing an Apache Kyuubi deployment requires implementing a multi-layered security approach. The core components of Kyuubi security include:
The Kyuubi Spark SQL Query Engine leverages Spark DataSource APIs (both V1 and V2) to access data from various sources.
By default, Kyuubi provides access to Hive warehouses and supports common file formats including:
Kyuubi can also be integrated with third-party storage and table formats such as:
For testing and benchmarking purposes, Kyuubi also provides sample data sources like TDC-DS and TPC-H.