Apache Paimon adalah format data lake terpadu untuk pemrosesan streaming dan batch yang mendukung penulisan throughput tinggi serta kueri latensi rendah. Topik ini menjelaskan cara membaca dan menulis tabel Paimon di EMR Serverless Spark.
Prasyarat
Ruang kerja telah dibuat. Buat ruang kerja.
Prosedur
Langkah 1: Buat sesi SQL
-
Buka halaman Sessions.
-
Login ke Konsol EMR.
-
Pada panel navigasi kiri, pilih EMR Serverless > Spark.
-
Pada halaman Spark, klik nama ruang kerja yang dituju.
-
Pada halaman EMR Serverless Spark, klik Sessions di panel navigasi kiri.
-
-
Pada halaman SQL Sessions, klik Create SQL Session.
-
Pada halaman Create SQL Session, konfigurasikan parameter pada bagian Spark Configuration, lalu klik Create. Kelola sesi SQL.
Spark membaca dan menulis tabel Paimon melalui katalog. Pilih jenis katalog berdasarkan skenario Anda. Kelola katalog data.
Katalog data
Saat menggunakan katalog data, tidak diperlukan parameter sesi. Klik Catalogs pada halaman Add Catalog, lalu pilih katalog data di lingkungan pengembangan Spark SQL Anda.
CatatanDisarankan menggunakan versi mesin EMR esr-4.3.0 atau lebih baru, esr-3.3.0 atau lebih baru, atau esr-2.7.0 atau lebih baru.
Katalog kustom
Data Lake Formation (DLF)
spark.sql.catalog.<catalogName> org.apache.paimon.spark.SparkCatalog spark.sql.catalog.<catalogName>.metastore rest spark.sql.catalog.<catalogName>.uri http://cn-hangzhou-vpc.dlf.aliyuncs.com spark.sql.catalog.<catalogName>.warehouse <catalog_name> spark.sql.catalog.<catalogName>.token.provider dlf spark.sql.catalog.<catalogName>.dlf.access-key-id <access_key_id> spark.sql.catalog.<catalogName>.dlf.access-key-secret <access_key_secret>Parameter:
Parameter
Deskripsi
Nilai contoh
spark.sql.catalog.<catalogName>Implementasi katalog.
Nilai tetap:
org.apache.paimon.spark.SparkCatalogspark.sql.catalog.<catalogName>.metastoreMetode penyimpanan metadata. Atur ke
restuntuk menggunakan API REST DLF.Nilai tetap:
restspark.sql.catalog.<catalogName>.uriURI DLF. Format:
http://<endpoint>-vpc.dlf.aliyuncs.com.http://cn-hangzhou-vpc.dlf.aliyuncs.comspark.sql.catalog.<catalogName>.warehouseJalur gudang. Untuk DLF, atur nilai ini ke nama katalog.
<catalog_name>spark.sql.catalog.<catalogName>.token.providerPenyedia otentikasi. Atur ke
dlfuntuk DLF.Nilai tetap:
dlfspark.sql.catalog.<catalogName>.dlf.access-key-idID AccessKey Akun Alibaba Cloud atau Pengguna RAM Anda.
<access_key_id>spark.sql.catalog.<catalogName>.dlf.access-key-secretRahasia AccessKey Akun Alibaba Cloud atau Pengguna RAM Anda.
<access_key_secret>DLF-Legacy
Metadata disimpan di DLF 1.0.
spark.sql.catalog.<catalogName> org.apache.paimon.spark.SparkCatalog spark.sql.catalog.<catalogName>.metastore dlf spark.sql.catalog.<catalogName>.dlf.catalog.id <catalog_name> spark.sql.catalog.<catalogName>.dlf.catalog.endpoint dlf-vpc.cn-hangzhou.aliyuncs.comParameter:
Parameter
Deskripsi
Nilai contoh
spark.sql.catalog.<catalogName>Implementasi katalog.
Nilai tetap:
org.apache.paimon.spark.SparkCatalogspark.sql.catalog.<catalogName>.metastoreMetode penyimpanan metadata. Atur ke
dlfuntuk menggunakan DLF sebagai metastore.Nilai tetap:
dlfspark.sql.catalog.<catalogName>.dlf.catalog.idNama katalog di DLF.
<catalog_name>spark.sql.catalog.<catalogName>.dlf.catalog.endpointTitik akhir DLF. Pilih titik akhir DLF berdasarkan Wilayah Anda.
dlf-vpc.cn-hangzhou.aliyuncs.comHive Metastore
Metadata disimpan di Hive Metastore tertentu.
spark.sql.catalog.<catalogName> org.apache.paimon.spark.SparkCatalog spark.sql.catalog.<catalogName>.metastore hive spark.sql.catalog.<catalogName>.uri thrift://<yourHMSUri>:<port>Parameter:
Parameter
Deskripsi
Nilai contoh
spark.sql.catalog.<catalogName>Implementasi katalog.
Nilai tetap:
org.apache.paimon.spark.SparkCatalogspark.sql.catalog.<catalogName>.metastoreJenis metastore. Atur ke
hiveuntuk menggunakan Hive Metastore.Nilai tetap:
hivespark.sql.catalog.<catalogName>.uriURI Hive Metastore. Format:
thrift://<alamat IP Hive metastore>:9083.<alamat IP Hive metastore>adalah alamat IP internal layanan Hive Metastore. Untuk menggunakan metastore eksternal, lihat Hubungkan ke Layanan Hive Metastore Eksternal.thrift://192.168.**.**:9083sistem file
Metadata disimpan di sistem file.
spark.sql.catalog.<catalogName> org.apache.paimon.spark.SparkCatalog spark.sql.catalog.<catalogName>.metastore filesystem spark.sql.catalog.<catalogName>.warehouse oss://<yourBucketName>/warehouseParameter:
Parameter
Deskripsi
Nilai contoh
spark.sql.catalog.<catalogName>Implementasi katalog.
Nilai tetap:
org.apache.paimon.spark.SparkCatalogspark.sql.catalog.<catalogName>.metastoreJenis metastore. Atur ke
filesystemuntuk menggunakan sistem file sebagai metastore.Nilai tetap:
filesystemspark.sql.catalog.<catalogName>.warehouseJalur gudang. Dalam contoh ini,
<yourBucketName>adalah nama bucket OSS.oss://my-bucket/warehouseAnda dapat mengonfigurasi beberapa katalog secara bersamaan, seperti DLF, DLF 1.0, dan Hive. Contoh:
# Konfigurasi katalog DLF spark.sql.catalog.<catalogName> org.apache.paimon.spark.SparkCatalog spark.sql.catalog.<catalogName>.metastore rest spark.sql.catalog.<catalogName>.uri http://cn-hangzhou-vpc.dlf.aliyuncs.com spark.sql.catalog.<catalogName>.warehouse <catalog_name> spark.sql.catalog.<catalogName>.token.provider dlf spark.sql.catalog.<catalogName>.dlf.access-key-id <access_key_id> spark.sql.catalog.<catalogName>.dlf.access-key-secret <access_key_secret> # Konfigurasi katalog DLF 1.0 spark.sql.catalog.<catalogName> org.apache.paimon.spark.SparkCatalog spark.sql.catalog.<catalogName>.metastore dlf spark.sql.catalog.<catalogName>.dlf.catalog.id <catalog_name> spark.sql.catalog.<catalogName>.dlf.catalog.endpoint dlf-vpc.cn-hangzhou.aliyuncs.com # Konfigurasi katalog hive1 spark.sql.catalog.<catalogName> org.apache.paimon.spark.SparkCatalog spark.sql.catalog.<catalogName>.metastore hive spark.sql.catalog.<catalogName>.uri thrift://<yourHMSUri-1>:<port> # Konfigurasi katalog hive2 spark.sql.catalog.<catalogName> org.apache.paimon.spark.SparkCatalog spark.sql.catalog.<catalogName>.metastore hive spark.sql.catalog.<catalogName>.uri thrift://<yourHMSUri-2>:<port>
Langkah 2: Baca dan tulis tabel Paimon
-
Buka halaman pengembangan SQL.
Pada halaman EMR Serverless Spark, klik Data Development di panel navigasi kiri.
-
Pada tab Development, klik ikon
. -
Pada kotak dialog Create, masukkan nama seperti
users_task, pertahankan tipe default sebagai SparkSQL, lalu klik OK. -
Salin kode berikut ke tab Spark SQL baru (users_task).
Katalog Paimon
-- Buat database. CREATE DATABASE IF NOT EXISTS paimon.ss_paimon_db; -- Buat tabel Paimon. CREATE TABLE paimon.ss_paimon_db.paimon_tbl (id INT, name STRING) USING paimon; -- Tulis data ke tabel Paimon. INSERT INTO paimon.ss_paimon_db.paimon_tbl VALUES (1, "a"), (2, "b"), (3, "c"); -- Kueri hasil tulis dari tabel Paimon. SELECT * FROM paimon.ss_paimon_db.paimon_tbl ORDER BY id; -- Hapus database. DROP DATABASE paimon.ss_paimon_db CASCADE; -
Pilih database dari daftar drop-down database dan sesi SQL yang telah Anda buat dari daftar drop-down sesi.
-
Klik Run untuk menjalankan pekerjaan. Pekerjaan akan menghasilkan output berikut.

FAQ
Dokumentasi terkait
-
Untuk contoh lengkap proses pengembangan dan orkestrasi task SQL, lihat Panduan Cepat Pengembangan SparkSQL.
-
Untuk detail penggunaan dan konfigurasi Paimon, lihat dokumentasi resmi Paimon.
-
Untuk menggunakan layanan metastore eksternal, lihat Hubungkan ke Layanan Hive Metastore Eksternal.