Go to file
Cheng Pan 6f8564ce59
[KYUUBI #280] Align Operation GET_SCHEMAS * behavior with Hive #292
![pan3793](https://badgen.net/badge/Hello/pan3793/green) [![PR 292](https://badgen.net/badge/Preview/PR%20292/blue)](https://github.com/yaooqinn/kyuubi/pull/292) ![Bug](https://badgen.net/badge/Label/Bug/) [&#10088;?&#10089;](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
-->

<!-- replace ${issue ID} with the actual issue id -->
Fixes #280
closes #292

<!--
Please clarify why the changes are needed. For instance,
  1. If you add a feature, you can talk about the user case of it.
  2. If you fix a bug, you can clarify why it is a bug.
-->
Before this PR, Kyuubi treat Operation GET_SCHEMAS * as an invalid Operation then cause HUE list databases failed, but HiveServer2 will return all databases on same request.

- [x] Add some test cases that check the changes thoroughly including negative and positive cases if possible
- [x] Add screenshots for manual tests if appropriate
- [x] [Run test](https://kyuubi.readthedocs.io/en/latest/tools/testing.html#running-tests) locally before make a pull request

After PR:
![201610862635_ pic](https://user-images.githubusercontent.com/26535726/104832256-032fc600-58cb-11eb-839b-6ece5328245a.jpg)
Squashed commit of the following:

commit f56fdc3fe35b4aa5a7b6f09cbbaa023ec713e2fe
Author: Cheng Pan <379377944@qq.com>
Date:   Sun Jan 17 23:27:03 2021 +0800

    [KYUUBI-280] code style and ut

commit ff74dbaf3e6d5606e5a2171e6dcc3628aa631eea
Author: Cheng Pan <379377944@qq.com>
Date:   Sun Jan 17 23:08:59 2021 +0800

    [KYUUBI-280] remove comments and handle schema * in other place

commit a8bcf98cd70e36903ece654e1c37d08e868b1c5b
Author: Cheng Pan <379377944@qq.com>
Date:   Sun Jan 17 13:47:24 2021 +0800

    [KYUUBI-280] Align Operation GET_SCHEMAS * behavior with Hive
2021-01-18 11:21:59 +08:00
.github [KYUUBI #291] Add a quick start guide for DBeaver (#291) 2021-01-16 16:04:15 +08:00
bin add HADOOP_CONF_DIR to classpath 2020-11-19 00:30:25 +08:00
build followup [add SparkSQLEngine idle check] fix #251 2020-11-18 16:41:43 +08:00
conf Spark Conf temp 2020-12-31 15:02:21 +08:00
dev Tune pom 2021-01-09 23:30:46 +08:00
docs [KYUUBI #291] Add a quick start guide for DBeaver (#291) 2021-01-16 16:04:15 +08:00
externals [KYUUBI #280] Align Operation GET_SCHEMAS * behavior with Hive #292 2021-01-18 11:21:59 +08:00
kyuubi-assembly Tune pom 2021-01-09 23:30:46 +08:00
kyuubi-common [KYUUBI #280] Align Operation GET_SCHEMAS * behavior with Hive #292 2021-01-18 11:21:59 +08:00
kyuubi-ha Tune pom 2021-01-09 23:30:46 +08:00
kyuubi-main [KYUUBI #294][TEST] Enable UT for CONNECTION level engine shared. 2021-01-18 10:21:20 +08:00
_config.yml [KYUUBI #295][INFRA] Add licenses for some yml files 2021-01-18 10:24:13 +08:00
.gitignore support query log for async exec 2020-11-27 16:40:07 +08:00
.readthedocs.yml [KYUUBI #295][INFRA] Add licenses for some yml files 2021-01-18 10:24:13 +08:00
.travis.yml [KYUUBI #295][INFRA] Add licenses for some yml files 2021-01-18 10:24:13 +08:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2018-03-07 15:54:22 +08:00
codecov.yml [KYUUBI #295][INFRA] Add licenses for some yml files 2021-01-18 10:24:13 +08:00
LICENSE Initial commit 2017-12-18 17:05:10 +08:00
pom.xml [KYUUBI#282] Downgrade libthrift:0.9.3 due to THRIFT-4805 2021-01-14 16:56:44 +08:00
README.md [MINOR] Show Github Actions build status in readme 2021-01-15 15:40:43 +08:00
scalastyle-config.xml Create Kyuubi Project Spark SQL Engine 2020-06-09 10:34:47 +08:00

Kyuubi

License GitHub top language GitHub release codecov HitCount Travis GitHub Workflow Status Documentation Status DepShield Badge

Kyuubi is a high-performance universal JDBC and SQL execution engine, built on top of Apache Spark. The goal of Kyuubi is to facilitate users to handle big data like ordinary data.

It provides a standardized JDBC interface with easy-to-use data access in big data scenarios. End-users can focus on developing their own business systems and mining data value without having to be aware of the underlying big data platform (compute engines, storage services, metadata management, etc.).

Kyuubi relies on Apache Spark to provide high-performance data query capabilities, and every improvement in the engine's capabilities can help Kyuubi's performance make a qualitative leap. In addition, Kyuubi improves ad-hoc responsiveness through the engine caching, and enhances concurrency through horizontal scaling and load balancing. It provides complete authentication and authentication services to ensure data and metadata security. It provides robust high availability and load balancing to help you guarantee the SLA commitment. It provides a two-level elastic resource management architecture to effectively improve resource utilization while covering the performance and response requirements of all scenarios including interactive, or batch processing and point queries, or full table scans. It embraces Spark and builds an ecosystem on top of it, which allows Kyuubi to quickly expand its existing ecosystem and introduce new features, such as cloud-native support and Data Lake/Lake House support.

Kyuubi's vision is to build on top of Apache Spark and Data Lake technologies to unify the portal and become an ideal data lake management platform. It can support data processing e.g. ETL, and analytics e.g. BI in a pure SQL way. All workloads can be done on one platform, using one copy of data, with one SQL interface.

Online Documentation

Since Kyuubi 1.0.0, the Kyuubi online documentation is hosted by https://readthedocs.org/. You can find the specific version of Kyuubi documentation as listed below.

For 0.8 and earlier versions, please check the project docs folder directly.

Quick Start

Ready? Getting Started with Kyuubi.

Contributing

All bits of help are welcome. You can make various types of contributions to Kyuubi, including the following but not limited to,

  • Help new users in chat channel or share your success stories w/ us - Gitter
  • Improve Documentation - Documentation Status
  • Test releases - GitHub release
  • Improve test coverage - codecov
  • Report bugs and better help developers to reproduce
  • Review changes
  • Make a pull request
  • Promote to others
  • Click the star button if you like this project

Aside

The project took its name from a character of a popular Japanese manga - Naruto. The character is named Kyuubi Kitsune/Kurama, which is a nine-tailed fox in mythology. Kyuubi spread the power and spirit of fire, which is used here to represent the powerful Apache Spark. It's nine tails stands for end-to end multi-tenancy support of this project.