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.
CatatanJika 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 |
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.
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:
|
|
Partition Information |
Jika tabel tujuan dipartisi, tentukan nilai untuk kolom partisi.
|
|
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
-
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.
-
Di panel navigasi sebelah kiri, klik
, lalu klik
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-
Untuk mengkueri data dengan cara ini, Anda harus 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: 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.