Gunakan Data Integration di DataWorks untuk menjalankan tugas sinkronisasi offline yang memuat data dari ApsaraDB for HBase ke Alibaba Cloud Elasticsearch guna pencarian dan analisis.
Setelah menyelesaikan tutorial ini, Anda akan memiliki:
-
Grup sumber daya eksklusif yang terhubung ke virtual private cloud (VPC) dari kluster HBase dan Elasticsearch Anda
-
HBase dan Elasticsearch yang telah didaftarkan sebagai sumber data di Data Integration
-
Tugas sinkronisasi offline yang sedang berjalan dan menulis data HBase ke indeks Elasticsearch
Cara kerja
DataWorks adalah platform pengembangan dan tata kelola data besar (big data) end-to-end berbasis mesin komputasi data besar, yang mencakup pengembangan data, penjadwalan tugas, dan manajemen data. Data Integration mengambil data dari sumber HBase dan menuliskannya ke kluster Elasticsearch melalui grup sumber daya eksklusif. Grup sumber daya eksklusif tersebut terhubung ke kedua kluster melalui VPC masing-masing, sehingga memastikan transfer data yang stabil dan aman.
Sinkronisasi berjalan dalam mode offline (batch). Untuk sinkronisasi real-time, lihat Buat tugas sinkronisasi real-time untuk menyinkronkan data ke Elasticsearch.
Sumber data berikut ini didukung oleh Data Integration DataWorks:
-
Database Alibaba Cloud: ApsaraDB RDS for MySQL, ApsaraDB RDS for PostgreSQL, ApsaraDB RDS for SQL Server, ApsaraDB for MongoDB, dan ApsaraDB for HBase
-
Layanan Alibaba Cloud: PolarDB for Xscale (PolarDB-X) (sebelumnya DRDS), MaxCompute, Object Storage Service (OSS), dan Tablestore
-
Database yang dikelola sendiri: HDFS, Oracle, FTP, Db2, MySQL, PostgreSQL, SQL Server, MongoDB, dan HBase
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
-
Kluster ApsaraDB for HBase. Untuk petunjuk penyiapan, lihat Beli kluster.
-
Kluster Alibaba Cloud Elasticsearch dengan fitur Auto Indexing yang diaktifkan. Untuk membuat kluster, lihat Buat kluster Alibaba Cloud Elasticsearch. Untuk mengaktifkan Auto Indexing, lihat Konfigurasi file YML.
-
Ruang kerja DataWorks. Lihat Buat ruang kerja.
Batasan:
-
Hanya Alibaba Cloud Elasticsearch yang didukung sebagai tujuan sinkronisasi. Instans Elasticsearch yang dikelola sendiri tidak didukung.
-
Kluster HBase, kluster Elasticsearch, dan ruang kerja DataWorks harus berada di wilayah dan zona waktu yang sama. Ketidaksesuaian zona waktu menyebabkan stempel waktu (timestamp) data terkait waktu menjadi tidak akurat setelah disinkronkan.
Penagihan
-
Untuk informasi harga kluster Elasticsearch, lihat Item yang dapat ditagih Elasticsearch.
-
Untuk informasi harga grup sumber daya eksklusif, lihat Penagihan grup sumber daya eksklusif untuk Data Integration (subscription).
Langkah 1: Siapkan data sumber
Tutorial ini menggunakan tabel bernama student dengan tiga column family: name, ID, dan gender.
Buat tabel tersebut di HBase Shell:
create 'student', {NAME => 'name'}, {NAME => 'ID'}, {NAME => 'gender'}
Masukkan data uji menggunakan perintah put. Contohnya:
put 'student', 'row1', 'name:a', 'xiaoming'
Verifikasi data dengan scan 'student'.
Untuk detail lebih lanjut tentang pemuatan data, lihat Gunakan HBase Shell untuk mengakses.
Langkah 2: Beli dan konfigurasi grup sumber daya eksklusif
Grup sumber daya eksklusif menangani transfer data antara kluster HBase, kluster Elasticsearch, dan DataWorks. Grup ini harus terhubung ke VPC kedua kluster tersebut.
-
Masuk ke Konsol DataWorks.
-
Di bilah navigasi atas, pilih wilayah Anda. Di panel navigasi kiri, klik Resource Group.
-
Di tab Exclusive Resource Groups, klik Create Legacy Resource Group > Data Integration Resource Group.
-
Di halaman DataWorks Exclusive Resources (Subscription), atur Resource Type menjadi Exclusive Resource Group For Data Integration, masukkan nama, lalu klik Buy Now. Untuk detailnya, lihat Langkah 1: Buat grup sumber daya eksklusif untuk Data Integration.
-
Di kolom Operation untuk grup sumber daya baru tersebut, klik Network Settings untuk menyambungkan VPC. Grup sumber daya eksklusif harus terhubung ke VPC dari kedua kluster. Sambungkan grup sumber daya ke VPC, Zone, dan vSwitch dari kedua kluster tersebut. Untuk mengetahui detail VPC kluster Elasticsearch, lihat Lihat informasi dasar instans Elasticsearch.
PentingSetelah menyambungkan VPC, tambahkan vSwitch CIDR block ke daftar putih alamat IP privat kedua kluster HBase dan Elasticsearch. Untuk kluster Elasticsearch, lihat Konfigurasi daftar putih alamat IP publik atau privat untuk kluster Elasticsearch. Untuk grup sumber daya eksklusif, lihat Konfigurasi daftar putih alamat IP.
-
Klik ikon kembali untuk kembali ke halaman Resource Group List.
-
Di kolom Operation, klik Attach Workspace untuk mengaitkan grup sumber daya dengan ruang kerja Anda. Untuk detailnya, lihat Langkah 2: Kaitkan grup sumber daya eksklusif untuk Data Integration dengan ruang kerja.
Langkah 3: Tambahkan sumber data
Daftarkan HBase dan Elasticsearch sebagai sumber data di Data Integration.
-
Buka Data Integration.
-
Masuk ke Konsol DataWorks.
-
Di panel navigasi kiri, klik Workspace.
-
Di kolom Actions untuk ruang kerja Anda, pilih Shortcuts > Data Integration.
-
-
Di panel navigasi kiri, klik Data Source.
-
Tambahkan sumber data HBase.
-
Di halaman Data Source List, klik Add Data Source.
-
Di kotak dialog Add Data Source, cari dan pilih HBase.
-
Di kotak dialog Add HBase Data Source, konfigurasikan parameter pada bagian Basic Information. Untuk deskripsi parameter, lihat Konfigurasi sumber data HBase.
-
Di bagian Connection Configuration, klik Test Connectivity. Status Connected menandakan koneksi berhasil.
-
Klik Complete.
-
-
Tambahkan sumber data Elasticsearch dengan langkah-langkah yang sama. Untuk detailnya, lihat Tambahkan sumber data Elasticsearch.
Langkah 4: Konfigurasi dan jalankan tugas sinkronisasi offline
Tutorial ini menggunakan antarmuka tanpa kode (codeless UI) di halaman Data Development (DataStudio) versi lama. Untuk menggunakan editor kode, lihat Konfigurasi tugas sinkronisasi batch menggunakan editor kode. Untuk konfigurasi penulis (writer) khusus Elasticsearch, lihat Elasticsearch Writer.
-
Pengembangan Data Terbuka.
-
Masuk ke Konsol DataWorks.
-
Di panel navigasi kiri, klik Workspace.
-
Di kolom Actions untuk ruang kerja Anda, pilih Shortcuts > Data Development.
-
-
Buat tugas sinkronisasi offline.
-
Di tab Data Development (
) di panel navigasi, pilih Create > Create Workflow dan ikuti petunjuknya. -
Klik kanan alur kerja tersebut dan pilih Create Node > Data Integration > Offline Synchronization.
-
Di kotak dialog Create Node, masukkan nama node dan klik Confirm.
-
-
Konfigurasi jaringan dan sumber daya.
-
Di bagian Source, atur Source menjadi HBase dan Data Source Name menjadi sumber data HBase Anda.
-
Untuk Resource Group, pilih grup sumber daya eksklusif yang telah Anda buat.
-
Di bagian Destination, atur Destination menjadi Elasticsearch dan Data Source Name menjadi sumber data Elasticsearch Anda.
-
-
Klik Next.
-
Konfigurasi detail tugas.
-
Di bagian Source, pilih tabel yang akan disinkronkan.
-
Konfigurasi parameter di bagian Destination.
-
Pada bagian Field Mapping, petakan Source Fields ke Destination Fields. Untuk informasi selengkapnya, lihat Mengonfigurasi tugas sinkronisasi batch menggunakan antarmuka tanpa kode.
-
Konfigurasi parameter channel di bagian Channel Control.
-
-
Simpan dan jalankan tugas. Jika Anda telah mengonfigurasi jadwal, tugas akan berjalan secara berkala. Untuk menjalankan tugas segera, klik ikon Run di pojok kanan atas editor node. Saat log operasional menampilkan
Shell run successfully!, tugas telah selesai.-
(Opsional) Klik Scheduling Configuration di panel kanan untuk mengatur jadwal berulang. Lihat Konfigurasi penjadwalan.
-
Klik ikon Save di atas editor node.
-
Klik ikon Submit untuk mengirimkan tugas.
-
Langkah 5: Verifikasi hasil sinkronisasi data
-
Masuk ke konsol Kibana. Untuk petunjuknya, lihat Masuk ke konsol Kibana.
CatatanTutorial ini menggunakan kluster Elasticsearch V7.10.0. Langkah-langkahnya mungkin berbeda untuk versi lain. Ikuti operasi aktual di konsol.
-
Di pojok kanan atas, klik Dev tools.
-
Di tab Console, jalankan kueri berikut untuk melihat data yang telah disinkronkan:
POST /student_info/_search?pretty { "query": { "match_all": {}} }Catatanstudent_infoadalah nama indeks yang Anda tetapkan sebagai tujuan dalam tugas sinkronisasi offline.