All Products
Search
Document Center

DataWorks:Sinkronkan satu tabel dari EMR Hive ke MaxCompute

Last Updated:Mar 26, 2026

Panduan ini memandu Anda melalui konfigurasi node sinkronisasi batch untuk menyalin satu tabel Hive E-MapReduce (EMR) ke MaxCompute, mencakup penyiapan sumber data, konektivitas jaringan, konfigurasi node, dan penjadwalan.

Batasan

Sinkronisasi data sumber ke tabel eksternal MaxCompute tidak didukung.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

  • resource group arsitektur tanpa server

  • Sumber data Hive dan sumber data MaxCompute — lihat Konfigurasi sumber data

  • Konektivitas jaringan antara resource group dan sumber data — lihat Solusi konektivitas jaringan

    Catatan

    Jika Anda menggunakan titik akhir publik untuk menghubungkan resource group eksklusif ke EMR, konfigurasikan aturan grup keamanan kluster EMR agar mengizinkan akses inbound dari alamat IP elastis (EIP) resource group eksklusif tersebut. Aturan inbound harus membuka port 10000, 9093, dan 8020.

Langkah 1: Buat node dan konfigurasikan tugas

Untuk langkah umum membuat node dan menggunakan antarmuka Codeless UI, lihat Konfigurasikan tugas di Codeless UI.

Langkah 2: Konfigurasikan sumber data dan tujuan

Konfigurasikan sumber data (Hive)

Pilih metode baca

Tersedia dua metode baca. Pilih berdasarkan kebutuhan Anda akan pemfilteran baris atau dukungan view:

HDFSJDBC
Cara kerjaHive Reader mengakses Hive Metastore untuk mendapatkan path file HDFS, format, dan delimiter tabel, lalu membaca langsung dari file Hadoop Distributed File System (HDFS)Hive Reader terhubung ke HiveServer2 melalui klien Hive JDBC dan membaca data menggunakan SQL
KinerjaLebih tinggiLebih rendah — menghasilkan program MapReduce
Pemfilteran kondisional (where)Tidak didukungDidukung
Tampilan BacaTidak didukungDidukung
UI labelRead data from HDFS files.Read data using Hive JDBC (supports conditional filtering).

Gunakan HDFS untuk throughput maksimum jika Anda tidak memerlukan pemfilteran. Gunakan JDBC jika Anda perlu memfilter baris dengan klausa where atau membaca dari view Hive.

Parameter utama

ParameterDeskripsiWajib
Hive Read MethodPilih Read data from HDFS files. atau Read data using Hive JDBC (supports conditional filtering). Lihat tabel perbandingan di atas.Ya
TablePilih tabel Hive yang akan disinkronkan. UI hanya menampilkan tabel dan skema dari lingkungan pengembangan. Pastikan skema tabel identik di kedua lingkungan pengembangan dan produksi — jika berbeda, tugas dapat gagal di produksi dengan error "table not found" atau "column not found".Ya
Parquet schemaDiperlukan jika tabel Hive disimpan dalam format Parquet.Kondisional

Konfigurasikan tujuan data (MaxCompute)

Catatan

Parameter yang tidak tercantum dalam tabel berikut dapat dibiarkan pada nilai default-nya.

ParameterDeskripsiWajib
Tunnel Resource GroupKuota saluran data MaxCompute yang digunakan untuk transfer data. Default-nya adalah Public transport resources, yaitu kuota gratis yang disediakan oleh MaxCompute. Jika kuota saluran data eksklusif Anda tidak tersedia karena pembayaran tertunda atau masa berlaku habis, tugas secara otomatis beralih ke Public transport resources saat waktu proses.Ya
TablePilih tabel MaxCompute tujuan. Di ruang kerja DataWorks standar, tabel dengan nama yang sama dan skema yang konsisten harus ada di kedua lingkungan pengembangan dan produksi. Anda juga dapat mengklik Generate Destination Table Schema agar sistem membuat tabel secara otomatis — sesuaikan pernyataan pembuatan tabel sesuai kebutuhan.Ya
Partition InformationDiperlukan jika tabel tujuan dipartisi. Masukkan nilai tetap (misalnya, ds=20220101) atau parameter penjadwalan (misalnya, ds=${bizdate}). Sistem mengganti parameter penjadwalan saat waktu proses.Kondisional
Write MethodPilih overwrite untuk mengganti data yang ada atau append untuk menambahkannya.Ya
Catatan

Perhatikan masalah umum berikut terkait tabel tujuan:

  • Jika tabel tidak ada di lingkungan pengembangan, tabel tersebut tidak akan muncul dalam daftar drop-down tabel tujuan.

  • Jika tabel tidak ada di lingkungan produksi, tugas sinkronisasi gagal setelah dipublikasikan.

  • Jika skema tabel berbeda antara lingkungan pengembangan dan produksi, pemetaan kolom selama eksekusi terjadwal mungkin menyimpang dari pemetaan yang dikonfigurasi, sehingga menyebabkan penulisan data yang salah.

Langkah 3: Konfigurasikan dan validasi tugas

Pemetaan bidang: Gunakan Map Fields with the Same Name atau Map Fields in the Same Line untuk memetakan kolom secara otomatis. Jika urutan atau nama bidang berbeda antara sumber dan tujuan, sesuaikan pemetaan secara manual.

Kontrol channel: Atur Policy for Dirty Data Records untuk menolak data kotor guna menjaga kualitas data. Biarkan parameter lain pada nilai default-nya pada awalnya.

Langkah 4: Debug tugas

  1. Di sisi kanan halaman konfigurasi node sinkronisasi batch, klik Run Configuration. Atur Resource Group dan Script Parameters untuk eksekusi debug, lalu klik Run di bilah alat atas untuk memverifikasi bahwa pipeline sinkronisasi berjalan sukses.

  2. Jalankan kueri spot-check terhadap tabel tujuan:

    1. Di panel navigasi kiri, klik image, lalu klik image di sebelah kanan Personal Directory untuk membuat file dengan ekstensi .sql.

    2. Jalankan kueri berikut dan verifikasi hasilnya sesuai ekspektasi:

    Catatan

    Untuk melakukan kueri data dengan cara ini, bind proyek MaxCompute tujuan sebagai resource komputasi untuk DataWorks. Di sisi kanan halaman pengeditan file .sql, klik Run Configuration, tentukan Type, Computing Resources, dan Resource Group, lalu klik Run di bilah alat atas.

    SELECT * FROM <your_maxcompute_destination_table> WHERE pt=<your_partition> LIMIT 20;

Langkah 5: Jadwalkan dan publikasikan tugas

Di sisi kanan node sinkronisasi batch, klik Scheduling Settings. Konfigurasikan parameter eksekusi periodik seperti yang dijelaskan dalam Konfigurasi penjadwalan. Lalu klik Publish di bilah alat atas dan ikuti petunjuk di layar untuk mempublikasikan tugas.