Anda dapat menggunakan Java Database Connectivity (JDBC) untuk mengakses Lindorm Distributed Processing System (LDPS) dan menggunakan Spark SQL untuk menanyakan, menganalisis, serta menghasilkan data.
Prasyarat
Instansi Lindorm telah dibuat dan LindormTable telah diaktifkan. Untuk informasi lebih lanjut, lihat Buat sebuah Instansi.
LDPS telah diaktifkan untuk instansi Lindorm. Untuk informasi lebih lanjut, lihat Aktifkan LDPS dan Modifikasi Konfigurasi.
Lingkungan pengembangan terintegrasi (IDE) Java telah diinstal. Versi Java Development Kit (JDK) adalah 1.8 atau yang lebih baru.
Peroleh Titik akhir JDBC yang digunakan untuk mengakses LDPS
Untuk informasi lebih lanjut tentang cara menanyakan titik akhir yang digunakan untuk terhubung ke LDPS, lihat Lihat Titik Akhir.
Gunakan Beeline untuk mengakses JDBC
Unduh Paket Rilis Spark.
Ekstrak paket rilis Spark yang diunduh.
Atur variabel SPARK_HOME ke jalur tempat paket diekstraksi.
export SPARK_HOME=/path/to/spark/;Konfigurasikan parameter dalam file konfigurasi berikut:
$SPARK_HOME/conf/beeline.conf.Titik Akhir: Atur parameter ini ke Titik Akhir JDBC dari LDPS.
pengguna: Atur parameter ini ke nama pengguna yang digunakan untuk mengakses tabel lebar Lindorm.
kata sandi: Atur parameter ini ke kata sandi yang digunakan untuk mengakses tabel lebar Lindorm.
shareResource: Tentukan apakah sumber daya Spark dibagikan oleh beberapa sesi interaktif. Nilai default dari parameter ini adalah true.
Jalankan perintah
/bin/beeline. Dalam sesi interaktif, eksekusi Pernyataan SQL.LDPS mendukung berbagai jenis sumber data. Untuk informasi lebih lanjut, lihat Tindakan Pencegahan.
Sebagai contoh, setelah Anda mengaktifkan Hive Metastore, Anda dapat mengeksekusi pernyataan berikut untuk membuat tabel, menulis data ke tabel, dan menanyakan data dalam tabel. Untuk informasi lebih lanjut, 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;
Kembangkan kode Java untuk mengakses JDBC
Tambahkan dependensi pada JDBC di lingkungan Anda, seperti Maven.
<dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-jdbc</artifactId> <version>2.3.8</version> </dependency>Kembangkan kode Java untuk mengakses JDBC. Kode berikut memberikan contoh tentang cara mengakses JDBC:
import java.sql.*; public class App { public static void main(String[] args) throws Exception { Class.forName("org.apache.hive.jdbc.HiveDriver"); 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(); String sql = "SELECT * FROM test"; ResultSet res = stmt.executeQuery(sql); while (res.next()) { System.out.println(res.getString(1)); } } }Opsional:Jika Anda ingin mengonfigurasi lebih banyak parameter untuk pekerjaan Anda, Anda dapat menentukan parameter dalam Titik Akhir JDBC. Contoh berikut menunjukkan cara menentukan parameter dalam Titik Akhir JDBC:
String endpoint = "jdbc:hive2://123.234.XX.XX:10009/;?token=bisdfjis-f7dc-fdsa-9qwe-dasdfhhv8****;spark.dynamicAllocation.minExecutors=3;spark.sql.adaptive.enabled=false";
Kembangkan kode Python untuk mengakses JDBC
Unduh Paket Rilis Spark.
Ekstrak paket rilis Spark yang diunduh.
Konfigurasikan parameter terkait jalur.
Konfigurasikan jalur Spark.
export SPARK_HOME=/path/to/dir/;Konfigurasikan variabel CLASSPATH.
export CLASSPATH=$CLASSPATH:$SPARK_HOME/jars/*;Instal JayDeBeApi.
pip install JayDeBeApi
Kembangkan kode Python untuk mengakses JDBC. Kode berikut memberikan contoh tentang cara mengakses JDBC:
import jaydebeapi driver = 'org.apache.hive.jdbc.HiveDriver' endpoint = 'jdbc:hive2://123.234.XX.XX:10009/;?token=bisdfjis-f7dc-fdsa-9qwe-dasdfhhv8****' jarPath = '/path/to/sparkhome/jars/hive-jdbc-****.jar' user = '****' password = '****' conn=jaydebeapi.connect(driver, endpoint, [user, password], [jarPath]) cursor = conn.cursor() cursor.execute("select 1") results = cursor.fetchall() cursor.close() conn.close()Opsional:Jika Anda ingin mengonfigurasi lebih banyak parameter untuk pekerjaan Anda, Anda dapat menentukan parameter dalam Titik Akhir JDBC. Contoh berikut menunjukkan cara menentukan parameter dalam Titik Akhir JDBC:
endpoint = "jdbc:hive2://123.234.XX.XX:10009/;?token=bisdfjis-f7dc-fdsa-9qwe-dasdfhhv8****;spark.dynamicAllocation.minExecutors=3;spark.sql.adaptive.enabled=false"