E-MapReduce (EMR) memungkinkan Anda mengkueri data Paimon di Hive. Topik ini menjelaskan cara mengkueri data Paimon di Hive.
Prasyarat
Kluster DataLake atau kluster kustom yang mencakup layanan Hive dan Paimon telah dibuat. Untuk informasi lebih lanjut tentang pembuatan kluster, lihat Buat kluster.
Batasan
Hanya kluster EMR V3.46.0 atau versi minor terbaru, serta kluster EMR V5.12.0 atau versi minor terbaru, yang mendukung pengkuerian data Paimon di Hive.
Prosedur
Kueri data dari tabel yang dibuat dalam katalog Hive dan katalog Data Lake Formation (DLF).
Setelah menyinkronkan metadata dari layanan lain ke Hive Metastore menggunakan katalog Hive, Anda dapat mengkueri data dari tabel dalam katalog Hive. Jika Anda memilih DLF Unified Metadata untuk Metadata saat membuat kluster EMR, Anda dapat menggunakan katalog DLF untuk menyinkronkan metadata dari layanan lain ke DLF dan mengkuerinya di Hive.
Contoh berikut menunjukkan cara menggunakan Spark untuk menulis data ke katalog Hive dan mengkueri data Paimon di Hive.
Jalankan perintah berikut untuk memulai Spark SQL:
spark-sql --conf spark.sql.catalog.paimon=org.apache.paimon.spark.SparkCatalog --conf spark.sql.catalog.paimon.metastore=hive --conf spark.sql.catalog.paimon.uri=thrift://master-1-1:9083 --conf spark.sql.catalog.paimon.warehouse=oss://<yourBucketName>/warehouseCatatanspark.sql.catalog.paimon: mendefinisikan katalog bernama paimon.spark.sql.catalog.paimon.metastore: menentukan tipe penyimpanan metadata yang digunakan oleh katalog. Jika parameter ini disetel kehive, metadata disinkronkan ke Hive Metastore.spark.sql.catalog.paimon.uri: menentukan alamat dan nomor port Hive Metastore. Jika parameter ini disetel kethrift://master-1-1:9083, klien Spark SQL terhubung ke Hive Metastore yang berjalan pada nodemaster-1-1dan port mendengarkan 9083 untuk mendapatkan informasi metadata.spark.sql.catalog.paimon.warehouse: menentukan lokasi sebenarnya dari gudang data. Konfigurasikan parameter ini sesuai dengan kebutuhan bisnis Anda. Ganti<yourBucketName>dengan nama Bucket OSS. Untuk informasi lebih lanjut tentang pembuatan Bucket OSS, lihat Buat bucket.
Eksekusi pernyataan Spark SQL berikut untuk membuat tabel Paimon dalam katalog yang telah dibuat dan menulis data ke tabel tersebut:
-- Beralih ke katalog paimon. USE paimon; -- Buat database uji dalam katalog yang telah dibuat dan gunakan database tersebut. CREATE DATABASE test_db; USE test_db; -- Buat tabel Paimon. CREATE TABLE test_tbl ( uuid int, name string, price double ) TBLPROPERTIES ( 'primary-key' = 'uuid' ); -- Tulis data ke tabel Paimon. INSERT INTO test_tbl VALUES (1, 'apple', 3.5), (2, 'banana', 4.0), (3, 'cherry', 20.5);Jalankan perintah berikut untuk memulai CLI Hive:
hiveEksekusi pernyataan Hive SQL berikut untuk mengkueri data yang ditulis ke tabel Paimon:
select * from test_db.test_tbl;
Buat tabel eksternal dan kueri data dari tabel eksternal.
Hive memungkinkan Anda membuat tabel eksternal yang memetakan ke tabel Paimon di jalur tertentu dan mengkueri data dari tabel eksternal. Contoh kode:
CREATE EXTERNAL TABLE test_ext_tbl STORED BY 'org.apache.paimon.hive.PaimonStorageHandler' LOCATION 'oss:// <yourBucketName>/warehouse/test_db.db/test_tbl'; SELECT * FROM test_ext_tbl;