Gunakan Java Database Connectivity (JDBC) untuk menghubungkan aplikasi Anda ke Lindorm Distributed Processing System (LDPS) serta menjalankan kueri Spark SQL, analitik, dan beban kerja pembuatan data.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Instans Lindorm dengan LindormTable yang diaktifkan. Lihat Buat instans.
LDPS yang diaktifkan untuk instans tersebut. Lihat Aktifkan LDPS dan modifikasi konfigurasi.
JDK 1.8 atau versi lebih baru yang diinstal di IDE Java.
Dapatkan titik akhir JDBC
Titik akhir JDBC mengikuti format berikut:
jdbc:hive2://<host>:10009/;?token=<your-token>Untuk mengetahui titik akhir instans Anda, lihat Lihat titik akhir.
Hubungkan dengan Beeline
Gunakan Beeline, klien CLI interaktif yang disertakan dalam paket rilis Spark, untuk menjalankan pernyataan SQL langsung terhadap LDPS tanpa menulis kode aplikasi apa pun.
Unduh paket rilis Spark dan ekstrak isinya.
Tetapkan variabel lingkungan
SPARK_HOMEke direktori hasil ekstraksi:export SPARK_HOME=/path/to/spark/Konfigurasikan
$SPARK_HOME/conf/beeline.confdengan parameter berikut:Parameter Deskripsi endpointTitik akhir JDBC LDPS userUsername untuk tabel lebar Lindorm passwordPassword untuk tabel lebar Lindorm shareResourceApakah beberapa session interaktif berbagi sumber daya Spark. Default: trueJalankan Beeline:
/bin/beelineDalam sesi interaktif, eksekusi pernyataan SQL terhadap sumber data LDPS Anda.
LDPS mendukung berbagai jenis sumber data. Untuk detailnya, lihat Perhatian.
Contoh: Buat dan kueri tabel dengan Hive Metastore
Setelah Anda mengaktifkan Hive Metastore, jalankan pernyataan berikut untuk membuat tabel, memasukkan data, dan mengkuerinya. Untuk petunjuk pengaturan, lihat Gunakan Hive Metastore untuk mengelola metadata di Lindorm.
CREATE TABLE test (id INT, name STRING);
INSERT INTO test VALUES (0, 'Jay'), (1, 'Edison');
SELECT id, name FROM test;Hubungkan dengan Java
Semua contoh Java menggunakan driver org.apache.hive.jdbc.HiveDriver dan API DriverManager.getConnection().
Tambahkan dependensi driver JDBC ke proyek Anda. Maven (
pom.xml):<dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-jdbc</artifactId> <version>2.3.8</version> </dependency>Hubungkan ke LDPS dan jalankan kueri:
import java.sql.*; public class App { public static void main(String[] args) throws Exception { // Daftarkan driver JDBC Hive Class.forName("org.apache.hive.jdbc.HiveDriver"); // Ganti dengan titik akhir JDBC LDPS Anda String endpoint = "jdbc:hive2://123.234.XX.XX:10009/;?token=bisdfjis-f7dc-fdsa-9qwe-dasdfhhv8****"; String user = ""; String password = ""; Connection con = DriverManager.getConnection(endpoint, user, password); Statement stmt = con.createStatement(); // Eksekusi kueri dan cetak hasilnya ResultSet res = stmt.executeQuery("SELECT * FROM test"); while (res.next()) { System.out.println(res.getString(1)); } } }(Opsional) Teruskan parameter pekerjaan Spark dengan menambahkannya ke URL titik akhir menggunakan tanda titik koma:
String endpoint = "jdbc:hive2://123.234.XX.XX:10009/;?token=bisdfjis-f7dc-fdsa-9qwe-dasdfhhv8****" + ";spark.dynamicAllocation.minExecutors=3" + ";spark.sql.adaptive.enabled=false";
Hubungkan dengan Python
Semua contoh Python menggunakan pustaka JayDeBeApi, yang menjembatani antarmuka Python DB-API 2.0 ke driver JDBC Hive.
Unduh paket rilis Spark dan ekstrak isinya.
Tetapkan variabel lingkungan:
export SPARK_HOME=/path/to/dir/ export CLASSPATH=$CLASSPATH:$SPARK_HOME/jars/*Instal JayDeBeApi:
pip install JayDeBeApiHubungkan ke LDPS dan jalankan kueri:
import jaydebeapi driver = 'org.apache.hive.jdbc.HiveDriver' endpoint = 'jdbc:hive2://123.234.XX.XX:10009/;?token=bisdfjis-f7dc-fdsa-9qwe-dasdfhhv8****' jar_path = '/path/to/sparkhome/jars/hive-jdbc-****.jar' user = '****' password = '****' conn = jaydebeapi.connect(driver, endpoint, [user, password], [jar_path]) cursor = conn.cursor() cursor.execute("select 1") results = cursor.fetchall() cursor.close() conn.close()(Opsional) Teruskan parameter pekerjaan Spark dengan menambahkannya ke string titik akhir:
endpoint = ( "jdbc:hive2://123.234.XX.XX:10009/;?token=bisdfjis-f7dc-fdsa-9qwe-dasdfhhv8****" ";spark.dynamicAllocation.minExecutors=3" ";spark.sql.adaptive.enabled=false" )
Langkah selanjutnya
Perhatian — sumber data yang didukung dan batasan yang diketahui untuk LDPS
Gunakan Hive Metastore untuk mengelola metadata di Lindorm — kelola metadata tabel untuk kueri Beeline dan JDBC
Aktifkan LDPS dan modifikasi konfigurasi — sesuaikan pengaturan kluster LDPS