全部产品
Search
文档中心

E-MapReduce:Integrasikan Paimon dengan Hive

更新时间:Jul 02, 2025

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

  1. 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.

    1. 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>/warehouse
      Catatan
      • spark.sql.catalog.paimon: mendefinisikan katalog bernama paimon.

      • spark.sql.catalog.paimon.metastore: menentukan tipe penyimpanan metadata yang digunakan oleh katalog. Jika parameter ini disetel ke hive, metadata disinkronkan ke Hive Metastore.

      • spark.sql.catalog.paimon.uri: menentukan alamat dan nomor port Hive Metastore. Jika parameter ini disetel ke thrift://master-1-1:9083, klien Spark SQL terhubung ke Hive Metastore yang berjalan pada node master-1-1 dan 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.

    2. 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);
    3. Jalankan perintah berikut untuk memulai CLI Hive:

      hive
    4. Eksekusi pernyataan Hive SQL berikut untuk mengkueri data yang ditulis ke tabel Paimon:

      select * from test_db.test_tbl;
  2. 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;