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
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.
CatatanJika 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 |
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.
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:
|
Partition Information | Jika tabel merupakan tabel partisi, masukkan nilai untuk kolom kunci partisi.
|
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
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.
Anda dapat mengklik
di panel navigasi sebelah kiri, lalu klik ikon
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.CatatanMetode kueri ini mengharuskan Anda menyambungkan instans MaxCompute destinasi sebagai resource komputasi untuk DataWorks.
Di sisi kanan halaman editor file
.sql, klik Debugging Configurations. Tentukan Type sumber data, Computing Resource, dan Resource Group, lalu klik Run di bilah alat atas.
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.