Topik ini menjelaskan cara menggunakan Beeline atau driver Java Database Connectivity (JDBC) untuk terhubung ke Kyuubi. Jika menggunakan Beeline, Anda dapat terhubung melalui ZooKeeper atau langsung ke Kyuubi.
Prasyarat
Sebuah kluster DataLake yang mencakup layanan Kyuubi telah dibuat di konsol E-MapReduce (EMR). Untuk informasi lebih lanjut, lihat Buat sebuah kluster.
Anda telah masuk ke kluster DataLake. Untuk informasi lebih lanjut, lihat Masuk ke sebuah kluster.
Gunakan Beeline untuk terhubung ke Kyuubi
Anda dapat menggunakan Hive Beeline atau Kyuubi Beeline untuk terhubung ke server Kyuubi. Dalam kluster EMR, Kyuubi Beeline dikenal sebagai kyuubi-beeline. Contoh berikut menunjukkan cara menggunakan kyuubi-beeline untuk terhubung ke Kyuubi.
Kluster umum
(Direkomendasikan) Metode 1: Gunakan ZooKeeper untuk Terhubung ke Kyuubi
kyuubi-beeline -n user1 \ -u "jdbc:hive2://master-1-1:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=kyuubi"Metode 2: Terhubung Langsung ke Kyuubi
kyuubi-beeline -n user1 -u "jdbc:hive2://master-1-1:10009/"Jalankan perintah berikut untuk mengirimkan file SQL:
kyuubi-beeline -n user1 -u "jdbc:hive2://master-1-1:10009/" -f query1.sql
Kluster dengan keamanan tinggi
Sebelum terhubung ke Kyuubi, jalankan perintah kinit untuk otentikasi identitas. Untuk informasi lebih lanjut tentang Kerberos, lihat Operasi Dasar pada Kerberos.
(Direkomendasikan) Metode 1: Gunakan ZooKeeper untuk Terhubung ke Kyuubi
kyuubi-beeline -n user1 \ -u "jdbc:hive2://master-1-1:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=kyuubi;principal=kyuubi/_HOST@EMR"Metode 2: Terhubung Langsung ke Kyuubi
kyuubi-beeline -n user1 -u "jdbc:hive2://master-1-1:10009/;principal=kyuubi/_HOST@EMR"
Gunakan driver JDBC untuk terhubung ke Kyuubi
Contoh berikut menggunakan proyek Maven untuk menjelaskan cara menggunakan driver JDBC Hive dalam menghubungkan aplikasi Java ke Kyuubi.
Dependensi Maven
Tambahkan dependensi berikut ke proyek Maven:
<dependency>
<groupId>org.apache.hive</groupId>
<artifactId>hive-jdbc</artifactId>
<version>2.3.9</version>
</dependency>Contoh kode
Kluster umum
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;";
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();
}
}Kluster dengan keamanan tinggi
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";
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();
}
}