diff --git a/externals/kyuubi-trino-engine/pom.xml b/externals/kyuubi-trino-engine/pom.xml new file mode 100644 index 00000000000..713085590a8 --- /dev/null +++ b/externals/kyuubi-trino-engine/pom.xml @@ -0,0 +1,50 @@ + + + + + + kyuubi-parent + org.apache.kyuubi + 1.5.0-SNAPSHOT + ../../pom.xml + + 4.0.0 + + kyuubi-trino-engine_2.12 + Kyuubi Project Engine Trino + jar + + + + + org.apache.kyuubi + kyuubi-common_${scala.binary.version} + ${project.version} + + + + org.apache.kyuubi + kyuubi-ha_${scala.binary.version} + ${project.version} + + + + + diff --git a/externals/kyuubi-trino-engine/src/main/scala/org/apache/kyuubi/engine/trino/TrinoThriftBinaryFrontendService.scala b/externals/kyuubi-trino-engine/src/main/scala/org/apache/kyuubi/engine/trino/TrinoThriftBinaryFrontendService.scala new file mode 100644 index 00000000000..a609976f8cb --- /dev/null +++ b/externals/kyuubi-trino-engine/src/main/scala/org/apache/kyuubi/engine/trino/TrinoThriftBinaryFrontendService.scala @@ -0,0 +1,36 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.kyuubi.engine.trino + +import org.apache.kyuubi.ha.client.EngineServiceDiscovery +import org.apache.kyuubi.ha.client.ServiceDiscovery +import org.apache.kyuubi.service.Serverable +import org.apache.kyuubi.service.Service +import org.apache.kyuubi.service.ThriftBinaryFrontendService + +class TrinoThriftBinaryFrontendService( + override val serverable: Serverable) + extends ThriftBinaryFrontendService("TrinoThriftBinaryFrontendService") { + + override lazy val discoveryService: Option[Service] = + if (ServiceDiscovery.supportServiceDiscovery(conf)) { + Some(new EngineServiceDiscovery(this)) + } else { + None + } +} diff --git a/pom.xml b/pom.xml index d42fe8109b2..f74d174e2c2 100644 --- a/pom.xml +++ b/pom.xml @@ -69,6 +69,7 @@ externals/kyuubi-download externals/kyuubi-flink-sql-engine externals/kyuubi-spark-sql-engine + externals/kyuubi-trino-engine kyuubi-assembly kyuubi-common kyuubi-ctl