このトピックでは、Beeline または Java Database Connectivity(JDBC)ドライバーを使用して Kyuubi に接続する方法について説明します。Beeline を使用して Kyuubi に接続する場合、ZooKeeper を使用して Kyuubi に接続するか、Kyuubi に直接接続できます。
前提条件
E-MapReduce(EMR)コンソールで、Kyuubi サービスを含む DataLake クラスタが作成されていること。詳細については、「クラスタの作成」をご参照ください。
DataLake クラスタにログオンしていること。詳細については、「クラスタへのログオン」をご参照ください。
Beeline を使用して Kyuubi に接続する
Hive Beeline または Kyuubi Beeline を使用して Kyuubi サーバーに接続できます。Kyuubi Beeline は、EMR クラスタでは kyuubi-beeline という名前です。次の例では、kyuubi-beeline を使用して Kyuubi に接続する方法について説明します。
共通クラスタ
(推奨)方法 1:ZooKeeper を使用して Kyuubi に接続する
kyuubi-beeline -n user1 \ -u "jdbc:hive2://master-1-1:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=kyuubi"方法 2:Kyuubi に直接接続する
kyuubi-beeline -n user1 -u "jdbc:hive2://master-1-1:10009/"次のコマンドを実行して、SQL ファイルを送信します。
kyuubi-beeline -n user1 -u "jdbc:hive2://master-1-1:10009/" -f query1.sql
高セキュリティクラスタ
Kyuubi に接続する前に、ID 認証のために kinit コマンドを実行します。Kerberos の詳細については、「Kerberos の基本操作」をご参照ください。
(推奨)方法 1:ZooKeeper を使用して Kyuubi に接続する
kyuubi-beeline -n user1 \ -u "jdbc:hive2://master-1-1:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=kyuubi;principal=kyuubi/_HOST@EMR"方法 2:Kyuubi に直接接続する
kyuubi-beeline -n user1 -u "jdbc:hive2://master-1-1:10009/;principal=kyuubi/_HOST@EMR"
JDBC ドライバーを使用して Kyuubi に接続する
次の例では、Maven プロジェクトを使用して、Hive の JDBC ドライバーを使用して Java アプリケーションを Kyuubi に接続する方法について説明します。
Maven 依存関係
Maven プロジェクトに次の依存関係を追加します。
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-jdbc</artifactId>
<version>2.3.9</version>
</dependency>サンプルコード
共通クラスタ
import java.sql.*;
public class JDBCTest {
private static String driverName = "org.apache.hive.jdbc.HiveDriver";
private static String kyuubiJdbcUrl = "jdbc:hive2://master-1-1:10009/default;"; // Kyuubi JDBC URL
public static void main(String[] args) throws Exception {
Class.forName(driverName);
Connection conn = DriverManager.getConnection(kyuubiJdbcUrl);
Statement st = conn.createStatement();
ResultSet res = st.executeQuery("show databases");
while (res.next()) {
System.out.println(res.getString(1));
}
res.close();
st.close();
conn.close();
}
}高セキュリティクラスタ
import java.sql.*;
public class JDBCTest {
private static String driverName = "org.apache.hive.jdbc.HiveDriver";
private static String kyuubiJdbcUrl = "jdbc:hive2://master-1-1:10009/default;principal=kyuubi/_HOST@EMR"; // Kyuubi JDBC URL (High-security cluster)
public static void main(String[] args) throws Exception {
Class.forName(driverName);
Connection conn = DriverManager.getConnection(kyuubiJdbcUrl);
Statement st = conn.createStatement();
ResultSet res = st.executeQuery("show databases");
while (res.next()) {
System.out.println(res.getString(1));
}
res.close();
st.close();
conn.close();
}
}