全部产品
Search
文档中心

DataWorks:Sinkronisasi satu tabel Hive EMR ke MaxCompute secara offline

更新时间:Nov 28, 2025

Topik ini menjelaskan cara menyinkronkan satu tabel Hive E-MapReduce (EMR) ke MaxCompute dalam mode offline, serta menyediakan praktik terbaik untuk konfigurasi sumber data, konektivitas jaringan, dan pengaturan tugas sinkronisasi.

Informasi latar belakang

Hive adalah alat gudang data yang dibangun di atas Hadoop dan digunakan untuk ekstraksi, transformasi, serta pemuatan data. Hive memungkinkan penyimpanan, kueri, dan analisis dataset besar dalam lingkungan Hadoop dengan memetakan file data terstruktur ke tabel database serta menyediakan kemampuan kueri SQL melalui konversi pernyataan SQL menjadi tugas MapReduce. DataWorks Data Integration memungkinkan sinkronisasi data dari Hive ke destinasi lain, maupun dari sumber lain ke Hive.

Persiapan

  • Beli Serverless resource group.

  • Buat sumber data Hive dan sumber data MaxCompute. Untuk informasi selengkapnya, lihat Konfigurasi Sumber Data.

  • Buat koneksi jaringan antara resource group dan sumber data. Untuk informasi selengkapnya, lihat Ikhtisar solusi koneksi jaringan.

    Catatan

    Jika Anda menggunakan koneksi jaringan publik untuk exclusive resource group dan EMR, tambahkan aturan ke security group kluster EMR yang mengizinkan akses dari alamat Elastic IP (EIP) exclusive resource group. Aturan inbound harus mengizinkan traffic pada port akses kluster EMR, seperti 10000, 9093, dan 8020.

Batasan

Sinkronisasi data sumber ke tabel eksternal MaxCompute tidak didukung.

Prosedur

1. Buat node dan konfigurasikan tugas

Topik ini tidak menjelaskan langkah umum untuk membuat node dan mengonfigurasi tugas di Antarmuka tanpa kode. Untuk informasi selengkapnya, lihat Konfigurasi node sinkronisasi di Antarmuka tanpa kode.

2. Konfigurasi sumber data dan destinasi

Konfigurasi sumber data (Hive)

Dokumen ini menjelaskan cara menyinkronkan satu tabel Hive ke MaxCompute secara offline. Sumber data adalah tabel Hive. Parameter konfigurasi utama dijelaskan di bawah ini.

Item konfigurasi

Catatan konfigurasi

Hive read methods

  • Read data from HDFS files: Plugin Hive Reader mengakses layanan Hive Metastore untuk mengurai informasi. Informasi tersebut mencakup path penyimpanan Hadoop Distributed File System (HDFS), format file, dan pemisah tabel data yang dikonfigurasi. Plugin kemudian membaca data tabel dari file HDFS.

  • Read data using Hive JDBC (supports conditional filtering): Plugin Hive Reader terhubung ke layanan HiveServer2 melalui klien Java Database Connectivity (JDBC) untuk membaca data. Metode ini mendukung penyaringan data dengan klausa `WHERE` dan membaca data langsung menggunakan SQL.

Catatan

Metode HDFS lebih efisien. Metode JDBC menghasilkan program MapReduce, sehingga efisiensi sinkronisasi lebih rendah. Perlu diperhatikan bahwa metode HDFS tidak mendukung penyaringan data atau pembacaan data dari view. Pilih metode sinkronisasi sesuai kebutuhan.

Table

Pilih tabel Hive yang akan disinkronkan. Pastikan tabel memiliki skema yang sama di lingkungan pengembangan dan lingkungan produksi sumber data Hive.

Catatan

Daftar tabel dan skema tabel dari lingkungan pengembangan sumber data Hive ditampilkan di sini. Jika definisi tabel di lingkungan pengembangan dan produksi berbeda, tugas mungkin berhasil dikonfigurasi di lingkungan pengembangan tetapi gagal setelah Anda kirimkan ke lingkungan produksi. Kesalahan seperti 'table not found' atau 'column not found' mungkin terjadi.

Parquet Schema

Jika tabel Hive disimpan dalam format Parquet, konfigurasikan skema Parquet yang sesuai.

Konfigurasi destinasi data (MaxCompute)

Dokumen ini menjelaskan cara menyinkronkan satu tabel Hive ke MaxCompute secara offline. Destinasi data adalah tabel. Catatan konfigurasi utama dijelaskan di bawah ini.

Catatan

Pertahankan pengaturan default untuk parameter yang tidak dijelaskan dalam tabel berikut.

Item konfigurasi

Catatan konfigurasi

Tunnel Resource Group

Ini adalah kuota Tunnel untuk transmisi data MaxCompute. Secara default, Public transport resources dipilih, yaitu kuota gratis untuk MaxCompute. Jika kuota Tunnel eksklusif Anda tidak tersedia karena Pembayaran tertunda atau kedaluwarsa, tugas akan secara otomatis beralih ke public transport resources selama waktu proses.

Table

Pilih tabel MaxCompute yang akan disinkronkan. Jika Anda menggunakan ruang kerja DataWorks standar, pastikan tabel MaxCompute dengan nama dan skema yang sama tersedia di lingkungan pengembangan dan produksi.

Anda juga dapat mengklik Generate Target Table Schema With One Click agar sistem secara otomatis membuat tabel untuk menerima data. Anda kemudian dapat menyesuaikan pernyataan pembuatan tabel secara manual.

Catatan

Jika:

  • Tabel destinasi MaxCompute tidak ada di lingkungan pengembangan, Anda tidak akan menemukannya dalam daftar drop-down tabel destinasi saat mengonfigurasi node sinkronisasi offline.

  • Tabel destinasi MaxCompute tidak ada di lingkungan produksi, tugas sinkronisasi akan gagal selama waktu proses terjadwal setelah Anda kirimkan dan publikasikan. Hal ini terjadi karena tabel destinasi tidak ditemukan.

  • Skema tabel di lingkungan pengembangan dan produksi tidak konsisten, pemetaan kolom aktual selama waktu proses terjadwal mungkin berbeda dari pemetaan yang dikonfigurasi untuk node sinkronisasi offline. Hal ini dapat menyebabkan data yang salah ditulis.

Partition Information

Jika tabel merupakan tabel partisi, masukkan nilai untuk kolom kunci partisi.

  • Nilai tersebut dapat berupa nilai statis, seperti ds=20220101.

  • Nilai tersebut dapat berupa parameter sistem penjadwalan, seperti ds=${bizdate}. Parameter sistem akan secara otomatis diganti dengan nilai aktualnya saat tugas dijalankan.

Write Mode

Pilih apakah akan menghapus atau mempertahankan data yang sudah ada saat menulis ke tabel destinasi.

3. Konfigurasi dan verifikasi tugas

  • Pemetaan bidang: Dalam kebanyakan kasus, pemetaan menggunakan Map Fields with Same Name atau Map Fields in Same Line sudah cukup. Jika urutan atau nama bidang di sumber dan destinasi berbeda, Anda dapat menyesuaikan pemetaan secara manual.

  • Kontrol saluran: Atur Policy for Dirty Data Records untuk menolak data kotor guna memastikan kualitas data. Anda dapat mempertahankan pengaturan default untuk parameter lainnya.

4. Konfigurasi dan jalankan pengujian

  1. Di sisi kanan halaman editor node sinkronisasi offline, klik Debugging Configurations. Atur Resource Group dan Script Parameters untuk pengujian, lalu klik Run di bilah alat atas untuk menguji apakah tugas sinkronisasi berhasil dijalankan.

  2. Anda dapat mengklik image di panel navigasi sebelah kiri, lalu klik ikon image di sebelah kanan Personal Directory untuk membuat file dengan ekstensi .sql. Anda kemudian dapat mengeksekusi pernyataan SQL berikut untuk mengkueri data di tabel destinasi dan memeriksa apakah datanya sesuai harapan.

    Catatan
    SELECT * FROM <MaxCompute_destination_table_name> WHERE pt=<specified_partition> LIMIT 20;

5. Konfigurasi penjadwalan dan publikasikan tugas

Di sisi kanan node sinkronisasi offline, klik Scheduling. Atur parameter konfigurasi penjadwalan untuk eksekusi berkala, lalu klik Publish di bilah alat atas. Di panel yang muncul, ikuti petunjuk di layar untuk mempublikasikan tugas.