All Products
Search
Document Center

E-MapReduce:Integrasikan Paimon dengan Hive

Last Updated:Apr 23, 2026

E-MapReduce memungkinkan Anda mengkueri data Paimon dari Hive. Topik ini menyediakan contoh-contohnya.

Prasyarat

Anda harus memiliki kluster DataLake atau kluster kustom yang telah dilengkapi Hive dan Paimon. Untuk informasi selengkapnya, lihat Buat kluster.

Batasan

Pengkuerian data Paimon dari Hive hanya didukung pada kluster E-MapReduce (EMR) yang menjalankan EMR-3.46.0 atau versi lebih baru serta EMR-5.12.0 atau versi lebih baru.

Prosedur

  1. Hubungkan ke node master kluster melalui SSH. Untuk informasi selengkapnya, lihat Masuk ke node master kluster.

  2. Gunakan Spark untuk menulis data ke Paimon.

    Saat layanan menyinkronkan metadata ke Hive Metastore melalui katalog Hive, Anda dapat langsung mengkueri tabel tersebut di Hive. Atau, jika Anda memilih opsi Metadata untuk opsi DLF Unified Metadata saat pembuatan kluster, layanan juga dapat menyinkronkan metadata ke katalog DLF, yang kemudian dapat dikueri oleh Hive.

    Contoh berikut menunjukkan cara menulis data ke katalog Hive menggunakan Spark.

    1. Jalankan Spark SQL.

      Gunakan alat command-line spark-sql untuk terhubung ke katalog Paimon dan tentukan titik akhir Hive Metastore serta path gudang data.

      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 jenis metastore untuk katalog tersebut. Atur nilai ini ke hive untuk menyinkronkan metadata dengan Hive Metastore.

      • spark.sql.catalog.paimon.uri: Alamat dan port layanan Hive Metastore. Nilai thrift://master-1-1:9083 berarti Spark SQL terhubung ke layanan Hive Metastore yang berjalan pada host master-1-1 dan mendengarkan pada Port 9083 untuk mengambil metadata.

      • spark.sql.catalog.paimon.warehouse: Mengonfigurasi path root untuk gudang data. Ganti nilai ini sesuai dengan lingkungan Anda. <yourBucketName> adalah nama bucket OSS Anda. Untuk informasi lebih lanjut tentang cara membuat bucket, lihat Buat bucket.

    2. Buat database dan tabel.

      Buat database uji bernama test_db dan tabel bernama test_tbl di Paimon, lalu masukkan data.

      -- Beralih ke katalog paimon.
      USE paimon;
      
      -- Buat dan gunakan database uji di katalog paimon.
      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. Kueri data Paimon dari Hive.

    1. Hubungkan ke Hive.

    2. Jalankan pernyataan HiveQL berikut untuk mengkueri data yang baru dimasukkan:

      select * from test_db.test_tbl;

      Pernyataan tersebut menghasilkan output berikut:

      OK
      1       apple   3.5
      2       banana  4.0
      3       cherry  20.5
  4. Kueri data Paimon melalui tabel eksternal Hive.

    Anda juga dapat memetakan tabel Paimon dari path tertentu sebagai tabel eksternal Hive dan langsung mengkueri datanya.

    1. Hubungkan ke Hive.

    2. Di Hive, jalankan perintah berikut untuk membuat tabel eksternal:

      CREATE EXTERNAL TABLE test_ext_tbl
      STORED BY 'org.apache.paimon.hive.PaimonStorageHandler'
      LOCATION 'oss:// <yourBucketName>/warehouse/test_db.db/test_tbl';

      Parameter

      • STORED BY 'org.apache.paimon.hive.PaimonStorageHandler': Menentukan penanganan penyimpanan Paimon.

      • LOCATION: Menentukan path penyimpanan tabel Paimon.

        Ganti oss://<yourBucketName>/warehouse/test_db.db/test_tbl dengan path penyimpanan aktual tabel Paimon Anda.

    3. Jalankan pernyataan SQL berikut untuk mengkueri tabel eksternal:

      SELECT * FROM test_ext_tbl;