From fc4c274318c8f39c485d229ae0fc1523a17d2b8f Mon Sep 17 00:00:00 2001 From: hongdongdong Date: Fri, 1 Apr 2022 14:20:49 +0800 Subject: [PATCH] [KYUUBI #2243] Add quick start for trino engine --- docs/imgs/trino/trino-query-page.png | Bin 0 -> 133468 bytes docs/quick_start/quick_start.md | 78 +++++++++++++++++++++++++-- 2 files changed, 73 insertions(+), 5 deletions(-) create mode 100644 docs/imgs/trino/trino-query-page.png diff --git a/docs/imgs/trino/trino-query-page.png b/docs/imgs/trino/trino-query-page.png new file mode 100644 index 0000000000000000000000000000000000000000..7d78cb1a5935670c0d161e356b587fe4204750fe GIT binary patch literal 133468 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 literal 0 HcmV?d00001 diff --git a/docs/quick_start/quick_start.md b/docs/quick_start/quick_start.md index 922e358bc9e..9732ec33aa4 100644 --- a/docs/quick_start/quick_start.md +++ b/docs/quick_start/quick_start.md @@ -44,12 +44,13 @@ Components| Role | Optional | Version | Remarks Java | Java
Runtime
Environment | Required | Java 8/11 | Kyuubi is pre-built with Java 8 Spark | Distributed
SQL
Engine | Optional | 3.0.0 and above | By default Kyuubi binary release is delivered without
a Spark tarball. Flink | Distributed
SQL
Engine | Optional | 1.14.0 and above | By default Kyuubi binary release is delivered without
a Flink tarball. +Trino | Distributed
SQL
Engine | Optional | 363 and above | By default Kyuubi binary release is delivered without
a Trino tarball. HDFS | Distributed
File
System | Optional | referenced
by
Spark | Hadoop Distributed File System is a
part of Hadoop framework, used to
store and process the datasets.
You can interact with any
Spark-compatible versions of HDFS. Hive | Metastore | Optional | referenced
by
Spark | Hive Metastore for Spark SQL to connect Zookeeper | Service
Discovery | Optional | Any
zookeeper
ensemble
compatible
with
curator(2.12.0) | By default, Kyuubi provides a
embedded Zookeeper server inside for
non-production use. -Additionally, if you want to work with other Spark/Flink compatible systems or plugins, you only need to take care of them as using them with regular Spark/Flink applications. -For example, you can run Spark/Flink SQL engines created by the Kyuubi on any cluster manager, including YARN, Kubernetes, Mesos, e.t.c... +Additionally, if you want to work with other Spark/Flink/Trino compatible systems or plugins, you only need to take care of them as using them with regular Spark/Flink/Trino applications. +For example, you can run Spark/Flink/Trino SQL engines created by the Kyuubi on any cluster manager, including YARN, Kubernetes, Mesos, e.t.c... Or, you can manipulate data from different data sources with the Spark Datasource/Flink Table API, e.g. Delta Lake, Apache Hudi, Apache Iceberg, Apache Kudu and e.t.c... ## Installation @@ -99,7 +100,7 @@ From top to bottom are: - bin: the entry of the Kyuubi server with `kyuubi` as the startup script. - conf: all the defaults used by Kyuubi Server itself or creating a session with Spark applications. - externals - - engines: contains all kinds of SQL engines that we support, e.g. Apache Spark, Apache Flink, Trino(coming soon). + - engines: contains all kinds of SQL engines that we support, e.g. Apache Spark, Apache Flink, Trino. - licenses: a bunch of licenses included. - jars: packages needed by the Kyuubi server. - logs: where the logs of the Kyuubi server locates. @@ -113,6 +114,7 @@ As mentioned above, for a quick start deployment, then only you need to be sure - Java runtime environment - `SPARK_HOME` for the Spark engine - `FLINK_HOME` and `kyuubi.engine.type` in `$KYUUBI_HOME/conf/kyuubi-defaults.conf` for the Flink engine. +- `kyuubi.engine.type` `session.engine.trino.connection.url` and `session.engine.trino.connection.catalog` in `$KYUUBI_HOME/conf/kyuubi-defaults.conf` for the Trino engine ### Setup JAVA @@ -170,6 +172,21 @@ To enable the Flink SQL engine, the `kyuubi.engine.type` in `$KYUUBI_HOME/conf/k kyuubi.engine.type FLINK_SQL ``` +### Trino Engine + +#### Setup Trino +Different from Spark/Flink, you must have a Trino cluster first. Trino client stored in `$KYUUBI_HOME/externals/engines/trino`. + +#### Setup Kyuubi Trino Configration + +To enable the Trino engine, the `kyuubi.engine.type` need to be set as `TRINO`. And `session.engine.trino.connection.url` and `session.engine.trino.connection.catalog` are also necessary. You can set all those configs in `$KYUUBI_HOME/conf/kyuubi-defaults.conf`, or set them in your connection parameters. + +```bash +kyuubi.engine.type TRINO +session.engine.trino.connection.url http://localhost:8080 # Your trino cluster server url +session.engine.trino.connection.catalog hive # The default catalog connect to. +``` + ### Starting Kyuubi ```bash @@ -241,7 +258,7 @@ Beeline version 2.3.7 by Apache Hive In this case, the session will create for the user named 'anonymous'. -Kyuubi will create a Spark/Flink SQL engine application using `kyuubi--sql-engine_2.12-.jar`. +Kyuubi will create a Spark/Flink/Trino SQL engine application using `kyuubi--sql-engine_2.12-.jar`. It will cost awhile for the application to be ready before fully establishing the session. Otherwise, an existing application will be reused, and the time cost here is negligible. @@ -253,7 +270,7 @@ bin/beeline -u 'jdbc:hive2://localhost:10009/' -n kentyao The formerly created Spark application for user 'anonymous' will not be reused in this case, while a brand new application will be submitted for user 'kentyao' instead. -Then, you can see two processes running in your local environment, including one `KyuubiServer` instance, one `SparkSubmit` or `FlinkSQLEngine` instances as the SQL engines. +Then, you can see two processes running in your local environment, including one `KyuubiServer` instance, one `SparkSubmit` `FlinkSQLEngine` or `TrinoSqlEngine` instances as the SQL engines. - Spark @@ -271,6 +288,14 @@ Then, you can see two processes running in your local environment, including one 43260 FlinkSQLEngine ``` +- Trino + +``` +63483 Jps +63693 KyuubiServer +63266 TrinoSqlEngine +``` + ### Execute Statements #### Execute Spark SQL Statements @@ -425,6 +450,49 @@ For example, you can get the Flink web UI from the log for debugging or tuning. ![](../imgs/flink/flink_jobs_page.png) +#### Execute Trino Statements + +If the beeline session is successfully connected, then you can run any query supported by Trino now. For example, + +```logtalk +0: jdbc:hive2://127.0.0.1:10009/default> select timestamp '2018-11-17'; +10:33:37.663 INFO org.apache.kyuubi.operation.ExecuteStatement: Processing yizhifeidie123's query[d059bc77-f2b6-4f95-b72b-859dbc07aacb]: INITIALIZED_STATE -> PENDING_STATE, statement: select timestamp '2018-11-17' +10:33:37.694 INFO org.apache.kyuubi.operation.ExecuteStatement: Processing yizhifeidie123's query[d059bc77-f2b6-4f95-b72b-859dbc07aacb]: PENDING_STATE -> RUNNING_STATE, statement: select timestamp '2018-11-17' +10:33:37.669 INFO org.apache.kyuubi.engine.trino.operation.ExecuteStatement: Processing yizhifeidie123's query[6353e64f-94ba-4770-989b-7186d267d8be]: INITIALIZED_STATE -> PENDING_STATE, statement: select timestamp '2018-11-17'10:33:37.693 INFO org.apache.kyuubi.engine.trino.operation.ExecuteStatement: Processing yizhifeidie123's query[6353e64f-94ba-4770-989b-7186d267d8be]: PENDING_STATE -> RUNNING_STATE, statement: select timestamp '2018-11-17'10:33:37.997 INFO org.apache.kyuubi.engine.trino.operation.ExecuteStatement: Execute in full collect mode10:33:37.999 INFO org.apache.kyuubi.engine.trino.operation.ExecuteStatement: Processing yizhifeidie123's query[6353e64f-94ba-4770-989b-7186d267d8be]: RUNNING_STATE -> FINISHED_STATE, statement: select timestamp '2018-11-17', time taken: 0.305 seconds +10:33:38.003 INFO org.apache.kyuubi.operation.ExecuteStatement: Query[d059bc77-f2b6-4f95-b72b-859dbc07aacb] in FINISHED_STATE +10:33:38.004 INFO org.apache.kyuubi.operation.ExecuteStatement: Processing yizhifeidie123's query[d059bc77-f2b6-4f95-b72b-859dbc07aacb]: RUNNING_STATE -> FINISHED_STATE, statement: select timestamp '2018-11-17', time taken: 0.31 seconds ++------------------------+ +| _col0 | ++------------------------+ +| 2018-11-17 00:00:00.0 | ++------------------------+ +1 row selected (0.422 seconds) +0: jdbc:hive2://localhost:10009/default> select * from tpch.tiny.customer limit 6; +11:10:07.869 INFO org.apache.kyuubi.operation.ExecuteStatement: Processing kyuubi's query[8b96ccd1-d1e2-4068-b250-c5a66950e629]: INITIALIZED_STATE -> PENDING_STATE, statement: select * from tpch.tiny.customer limit 6 +11:10:07.878 INFO org.apache.kyuubi.operation.ExecuteStatement: Processing kyuubi's query[8b96ccd1-d1e2-4068-b250-c5a66950e629]: PENDING_STATE -> RUNNING_STATE, statement: select * from tpch.tiny.customer limit 6 +11:10:07.871 INFO org.apache.kyuubi.engine.trino.operation.ExecuteStatement: Processing kyuubi's query[d66faea0-fac8-4d3c-a38a-c84fba57d8a7]: INITIALIZED_STATE -> PENDING_STATE, statement: select * from tpch.tiny.customer limit 611:10:07.877 INFO org.apache.kyuubi.engine.trino.operation.ExecuteStatement: Processing kyuubi's query[d66faea0-fac8-4d3c-a38a-c84fba57d8a7]: PENDING_STATE -> RUNNING_STATE, statement: select * from tpch.tiny.customer limit 611:10:08.063 INFO org.apache.kyuubi.engine.trino.operation.ExecuteStatement: Execute in full collect mode11:10:08.064 INFO org.apache.kyuubi.engine.trino.operation.ExecuteStatement: Processing kyuubi's query[d66faea0-fac8-4d3c-a38a-c84fba57d8a7]: RUNNING_STATE -> FINISHED_STATE, statement: select * from tpch.tiny.customer limit 6, time taken: 0.186 seconds +11:10:08.066 INFO org.apache.kyuubi.operation.ExecuteStatement: Query[8b96ccd1-d1e2-4068-b250-c5a66950e629] in FINISHED_STATE +11:10:08.066 INFO org.apache.kyuubi.operation.ExecuteStatement: Processing kyuubi's query[8b96ccd1-d1e2-4068-b250-c5a66950e629]: RUNNING_STATE -> FINISHED_STATE, statement: select * from tpch.tiny.customer limit 6, time taken: 0.188 seconds ++----------+---------------------+----------------------------------+------------+------------------+----------+-------------+----------------------------------------------------+ +| custkey | name | address | nationkey | phone | acctbal | mktsegment | comment | ++----------+---------------------+----------------------------------+------------+------------------+----------+-------------+----------------------------------------------------+ +| 749 | Customer#000000749 | U1Dvu0r793a | 24 | 34-158-697-9591 | 7491.42 | MACHINERY | accounts was. final, final requests wake. theodolites was slyly. blithely even foxes wake carefully ac | +| 750 | Customer#000000750 | 5OyNRajjgjjbaXtI rkxvB2lX4c6u | 8 | 18-235-587-1274 | 269.9 | BUILDING | s. regular, regular deposits sleep carefully blithely bol | +| 751 | Customer#000000751 | e OSrreG6sx7l1t3wAg8u11DWk D 9 | 0 | 10-658-550-2257 | 2130.98 | FURNITURE | ges sleep furiously bold deposits. furiously regular requests cajole slyly. unusual accounts nag unusual ide | +| 752 | Customer#000000752 | KtdEacPUecPdPLt99kwZrnH9oIxUxpw | 8 | 18-924-993-6038 | 8363.66 | MACHINERY | mong the ironic, final waters. regular deposits above the fluffily ironic instructions | +| 753 | Customer#000000753 | 9k2PLlDRbMq4oSvW5Hh7Ak5iRDH | 17 | 27-817-126-3646 | 8114.44 | HOUSEHOLD | cies. deposits snooze. final, regular excuses wake furiously about the furiously final foxes. dependencies | +| 754 | Customer#000000754 | 8r5wwhhlL9MkAxOhRK | 0 | 10-646-595-5871 | -566.86 | BUILDING | er regular accounts against the furiously unusual somas sleep carefull | ++----------+---------------------+----------------------------------+------------+------------------+----------+-------------+----------------------------------------------------+ +6 rows selected (0.21 seconds) +``` + +As shown in the above case, you can retrieve all the operation logs, the result schema, and the result to your client-side in the beeline console. + +Additionally, some useful information about the background Trino application associated with this connection is also printed in the operation log. +Add, you get the Trino web UI for debugging or tuning. + +![](../imgs/trino/trino-query-page.png) + ### Closing a Connection Close the session between beeline and Kyuubi server by executing `!quit`, for example,