全部产品
Search
文档中心

DataWorks:Sinkronisasi offline satu tabel EMR Hive ke MaxCompute

更新时间:Mar 05, 2026

Dokumen ini menggunakan skenario sinkronisasi satu tabel Hive E-MapReduce (EMR) ke MaxCompute untuk menggambarkan praktik terbaik dalam mengonfigurasi Data Source, menetapkan konektivitas jaringan, dan menyiapkan Offline Sync Node.

Latar Belakang

Hive dapat digunakan untuk menyimpan, mengkueri, dan menganalisis data berskala besar di Hadoop. Alat ini memetakan file data terstruktur ke tabel database dan menyediakan kemampuan kueri SQL dengan mengonversi Pernyataan SQL menjadi pekerjaan MapReduce.

Prasyarat

  • Anda telah membeli Serverless Resource Group.

  • Anda telah membuat Hive Data Source dan MaxCompute Data Source. Untuk informasi selengkapnya, lihat Konfigurasi Data Source.

  • Anda telah menetapkan koneksi jaringan antara Resource Group dan Data Source. Untuk informasi selengkapnya, lihat Solusi konektivitas jaringan.

    Catatan

    Jika Anda menggunakan Titik akhir publik untuk menghubungkan Exclusive Resource Group ke EMR, Anda harus mengonfigurasi aturan Security Group untuk kluster EMR agar mengizinkan akses dari alamat elastic IP (EIP) Exclusive Resource Group tersebut. Aturan inbound Security Group harus mengizinkan akses ke Port kluster EMR yang diperlukan, seperti 10000, 9093, dan 8020.

Batasan

Sinkronisasi data sumber ke tabel eksternal MaxCompute tidak didukung.

Prosedur

Langkah 1: Buat node dan konfigurasikan task

Untuk langkah umum membuat node dan menggunakan Codeless UI, lihat Konfigurasi task di Codeless UI.

Langkah 2: Konfigurasi sumber data dan tujuan

Konfigurasi sumber data (Hive)

Bagian ini menjelaskan parameter utama untuk mengonfigurasi Hive Data Source, yaitu tabel Hive dalam contoh ini.

Parameter

Deskripsi

Hive Read Method

  • Read data from HDFS files.: Plugin Hive Reader mengakses layanan Hive Metastore untuk mengurai informasi tentang tabel data yang dikonfigurasi, seperti path penyimpanan file HDFS, format file, dan delimiter. Kemudian plugin tersebut membaca data langsung dari file HDFS.

  • Read data using Hive JDBC (supports conditional filtering).: Plugin Hive Reader terhubung ke layanan HiveServer2 menggunakan klien Hive JDBC untuk membaca data. Metode ini memungkinkan Anda memfilter data menggunakan klausa where dan membaca data langsung menggunakan SQL.

Catatan

Metode HDFS menawarkan efisiensi lebih tinggi. Metode JDBC menghasilkan program MapReduce, sehingga performa sinkronisasi lebih rendah. Perhatikan bahwa metode HDFS tidak mendukung pemfilteran kondisional atau pembacaan dari view. Pilih metode yang paling sesuai dengan kebutuhan Anda.

Table

Pastikan Table Schema identik di lingkungan pengembangan dan lingkungan produksi untuk Hive Data Source.

Catatan

Bagian ini menampilkan daftar tabel dan Table Schema dari lingkungan pengembangan Anda. Jika definisi tabel berbeda antara lingkungan pengembangan dan produksi, task mungkin dikonfigurasi dengan benar di lingkungan pengembangan tetapi gagal di produksi dengan error seperti "table not found" atau "column not found".

Parquet schema

Jika tabel Hive disimpan dalam format Parquet, Anda harus mengonfigurasi Parquet schema yang sesuai.

Konfigurasi tujuan data (MaxCompute)

Bagian ini menjelaskan parameter utama untuk mengonfigurasi MaxCompute Data Destination.

Catatan

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

Parameter

Deskripsi

Tunnel Resource Group

Kuota MaxCompute Tunnel yang digunakan untuk transfer data. Secara default, 'Public transport resources' dipilih, yaitu kuota gratis yang disediakan oleh MaxCompute. Jika kuota Tunnel eksklusif Anda tidak tersedia karena Pembayaran tertunda atau kedaluwarsa, task secara otomatis beralih ke 'Public transport resources' saat waktu proses.

Table

Pilih tabel MaxCompute tujuan. Jika Anda menggunakan Workspace DataWorks standar, pastikan tabel MaxCompute dengan nama yang sama dan Table Schema yang konsisten tersedia di lingkungan pengembangan dan produksi.

Anda juga dapat mengklik Generate Destination Table Schema. Sistem secara otomatis membuat tabel untuk menerima data. Anda dapat menyesuaikan pernyataan pembuatan tabel secara manual.

Catatan

Perhatikan hal berikut:

  • Jika tabel MaxCompute tujuan tidak ada di lingkungan pengembangan, Anda tidak akan menemukannya dalam daftar drop-down tabel tujuan saat mengonfigurasi Offline Sync Node.

  • Jika tabel MaxCompute tujuan tidak ada di lingkungan produksi, Sync Task gagal setelah dipublikasikan karena tabel tidak ditemukan.

  • Jika Table Schema tidak konsisten antara lingkungan pengembangan dan produksi, pemetaan kolom selama eksekusi terjadwal dapat berbeda dari pemetaan yang dikonfigurasi di Offline Sync Node, sehingga menyebabkan penulisan data yang salah.

Partition Information

Jika tabel tujuan dipartisi, tentukan nilai untuk kolom partisi.

  • Nilainya dapat berupa nilai tetap, seperti ds=20220101.

  • Nilainya dapat berupa Parameter Sistem Penjadwalan, seperti ds=${bizdate}. Sistem secara otomatis mengganti parameter tersebut dengan nilainya saat waktu proses.

Write Method

Menentukan apakah data di tabel tujuan akan ditimpa atau ditambahkan.

Langkah 3: Konfigurasi dan validasi task

  • Pemetaan Bidang: Biasanya, Anda dapat menggunakan Map Fields with the Same Name atau Map Fields in the Same Line. Jika urutan atau nama bidang di sumber dan tujuan berbeda, Anda dapat menyesuaikan pemetaan secara manual.

  • Kontrol Saluran: Tetapkan Policy for Dirty Data Records untuk menolak semua data kotor guna memastikan kualitas data. Parameter lainnya dapat dibiarkan pada nilai default pada awalnya.

Langkah 4: Konfigurasi dan debug task

  1. Di sisi kanan halaman konfigurasi Offline Sync Node, klik Run Configuration. Tetapkan Resource Group dan Script Parameters untuk eksekusi debug. Lalu, klik Run di bilah alat atas untuk menguji apakah pipeline sinkronisasi berjalan sukses.

  2. Di panel navigasi sebelah kiri, klik image, lalu klik image di sebelah kanan Personal Directory untuk membuat file dengan ekstensi .sql. Jalankan Pernyataan SQL berikut untuk mengkueri tabel tujuan dan memverifikasi bahwa data sesuai harapan.

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

Langkah 5: Konfigurasi penjadwalan dan publikasikan task

Di sisi kanan Offline Sync Node, klik Scheduling Settings. Konfigurasikan parameter untuk eksekusi berkala seperti yang dijelaskan dalam Konfigurasi Penjadwalan. Lalu, klik Publish di bilah alat atas dan ikuti petunjuk di layar untuk mempublikasikan task.