 [](https://github.com/yaooqinn/kyuubi/pull/450)    [<img width="16" alt="Powered by Pull Request Badge" src="https://user-images.githubusercontent.com/1393946/111216524-d2bb8e00-85d4-11eb-821b-ed4c00989c02.png">](https://pullrequestbadge.com/?utm_medium=github&utm_source=yaooqinn&utm_campaign=badge_info)<!-- PR-BADGE: PLEASE DO NOT REMOVE THIS COMMENT --> <!-- Thanks for sending a pull request! Here are some tips for you: 1. If this is your first time, please read our contributor guidelines: https://kyuubi.readthedocs.io/en/latest/community/contributions.html 2. If the PR is related to an issue in https://github.com/yaooqinn/kyuubi/issues, add '[KYUUBI #XXXX]' in your PR title, e.g., '[KYUUBI #XXXX] Your PR title ...'. 3. If the PR is unfinished, add '[WIP]' in your PR title, e.g., '[WIP][KYUUBI #XXXX] Your PR title ...'. --> ### _Why are the changes needed?_ <!-- Please clarify why the changes are needed. For instance, 1. If you add a feature, you can talk about the use case of it. 2. If you fix a bug, you can clarify why it is a bug. --> This PR adds a future-proofing Metrics Service framework close #499 add some reporters, like json file, jmx, etc.. add some basic metrics, like statement.error ### _How was this patch tested?_ - [x] Add some test cases that check the changes thoroughly including negative and positive cases if possible WIP - [ ] Add screenshots for manual tests if appropriate - [ ] [Run test](https://kyuubi.readthedocs.io/en/latest/tools/testing.html#running-tests) locally before make a pull request Closes #450 from yaooqinn/449. ea21a43 [Kent Yao] add tests 6513d07 [Kent Yao] update codecov 7cfe318 [Kent Yao] update docs a8454d0 [Kent Yao] update docs 91c33f4 [Kent Yao] update deps 05b13fb [Kent Yao] fix dep issues babc739 [Kent Yao] Add Basic Metrics Service Platform acc716a [Kent Yao] Add Basic Metrics Service Platform Authored-by: Kent Yao <yao@apache.org> Signed-off-by: Kent Yao <yao@apache.org>
111 lines
3.9 KiB
ReStructuredText
111 lines
3.9 KiB
ReStructuredText
.. Kyuubi documentation master file, created by
|
|
sphinx-quickstart on Wed Oct 28 14:23:28 2020.
|
|
You can adapt this file completely to your liking, but it should at least
|
|
contain the root `toctree` directive.
|
|
|
|
.. image:: imgs/kyuubi_logo.png
|
|
:align: center
|
|
|
|
Welcome to Kyuubi's documentation!
|
|
==================================
|
|
|
|
Kyuubi™ is a unified multi-tenant JDBC interface for large-scale data processing and analytics, built on top of `Apache Spark™ <http://spark.apache.org/>`_.
|
|
|
|
.. image:: ./imgs/kyuubi_layers.*
|
|
|
|
In general, the complete ecosystem of Kyuubi falls into the hierarchies shown in the above figure, with each layer loosely coupled to the other.
|
|
|
|
For example, you can use Kyuubi, Spark and `Apache Iceberg <https://iceberg.apache.org/>`_ to build and manage Data Lake with pure SQL for both data processing e.g. ETL, and analytics e.g. BI.
|
|
All workloads can be done on one platform, using one copy of data, with one SQL interface.
|
|
|
|
Kyuubi provides the following features:
|
|
|
|
Multi-tenancy
|
|
-------------
|
|
|
|
Kyuubi supports the end-to-end multi-tenancy,
|
|
and this is why we want to create this project despite that the Spark `Thrift JDBC/ODBC server <http://spark.apache.org/docs/latest/sql-distributed-sql-engine.html#running-the-thrift-jdbcodbc-server>`_ already exists.
|
|
|
|
1. Supports multi-client concurrency and authentication
|
|
2. Supports one Spark application per account(SPA).
|
|
3. Supports QUEUE/NAMESPACE Access Control Lists (ACL)
|
|
4. Supports metadata & data Access Control Lists
|
|
|
|
Users who have valid accounts could use all kinds of client tools, e.g.
|
|
Hive Beeline, `HUE <https://gethue.com/>`_, `DBeaver <https://dbeaver.io/>`_,
|
|
`SQuirreL SQL Client <http://squirrel-sql.sourceforge.net/>`_, etc,
|
|
to operate with Kyuubi server concurrently.
|
|
|
|
The SPA policy makes sure 1) a user account can only get computing resource with managed ACLs, e.g.
|
|
`Queue Access Control Lists <https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/FairScheduler.html#Queue_Access_Control_Lists>`_,
|
|
from cluster managers, e.g.
|
|
`Apache Hadoop YARN <https://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html>`_,
|
|
`Kubernetes (K8s) <https://kubernetes.io/>`_ to create the Spark application;
|
|
2) a user account can only access data and metadata from a storage system, e.g.
|
|
`Apache Hadoop HDFS <https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html>`_,
|
|
with permissions.
|
|
|
|
Ease of Use
|
|
------------
|
|
|
|
You only need to be familiar with Structured Query Language (SQL) and Java Database Connectivity (JDBC) to handle massive data.
|
|
It helps you focus on the design and implementation of your business system.
|
|
|
|
Run Anywhere
|
|
------------
|
|
|
|
Kyuubi can submit Spark applications to all supported cluster managers, including YARN, Mesos, Kubernetes, Standalone, and local.
|
|
|
|
The SPA policy also make it possible for you to launch different applications against different cluster managers.
|
|
|
|
High Performance
|
|
----------------
|
|
|
|
Kyuubi is built on the Apache Spark, a lightning-fast unified analytics engine.
|
|
|
|
- **Concurrent execution**: multiple Spark applications work together
|
|
- **Quick response**: long-running Spark applications without startup cost
|
|
- **Optimal execution plan**: fully supports Spark SQL Catalyst Optimizer,
|
|
|
|
Authentication & Authorization
|
|
------------------------------
|
|
|
|
With strong authentication and fine-grained column/row level authorization,
|
|
Kyuubi keeps your system and data secure.
|
|
|
|
High Availability
|
|
-----------------
|
|
|
|
Kyuubi provides both high availability and load balancing solutions based on Zookeeper.
|
|
|
|
.. toctree::
|
|
:caption: Usage Guide
|
|
:maxdepth: 2
|
|
:glob:
|
|
|
|
quick_start/index
|
|
deployment/index
|
|
Security <security/index>
|
|
client/index
|
|
integrations/index
|
|
monitor/index
|
|
|
|
.. toctree::
|
|
:caption: Kyuubi Insider
|
|
:maxdepth: 2
|
|
|
|
overview/index
|
|
|
|
.. toctree::
|
|
:caption: Contributing
|
|
:maxdepth: 2
|
|
|
|
tools/index
|
|
community/index
|
|
|
|
.. toctree::
|
|
:caption: Appendix
|
|
:maxdepth: 2
|
|
|
|
appendix/index
|