Anda dapat menggunakan Alibaba Cloud Elasticsearch (ES) untuk mengambil informasi, menjalankan kueri multidimensi, dan melakukan analisis statistik pada volume data besar di MaxCompute (ODPS). Topik ini menjelaskan cara menggunakan layanan Integrasi Data dari DataWorks untuk menyinkronkan data dalam jumlah besar dari proyek MaxCompute ke instans Alibaba Cloud ES secara offline. Proses ini biasanya hanya memerlukan beberapa menit.
Informasi latar belakang
DataWorks adalah platform komprehensif untuk pengembangan dan tata kelola data besar yang mengintegrasikan fitur-fitur seperti pengembangan data, penjadwalan tugas, dan manajemen data. Anda dapat menggunakan tugas sinkronisasi di DataWorks untuk memindahkan data dengan cepat dari berbagai sumber data ke Alibaba Cloud ES.
Sumber data berikut didukung:
Database Alibaba Cloud: ApsaraDB for RDS (MySQL, PostgreSQL, SQL Server), ApsaraDB for MongoDB, dan ApsaraDB for HBase
Alibaba Cloud PolarDB-X (peningkatan dari DRDS)
Alibaba Cloud MaxCompute
Alibaba Cloud Object Storage Service (OSS)
Alibaba Cloud Tablestore
Sumber data mandiri, seperti HDFS, Oracle, FTP, dan DB2.
Skenario:
Menyinkronkan data besar dari database atau tabel ke Alibaba Cloud Elasticsearch secara offline. Untuk informasi selengkapnya, lihat Buat tugas sinkronisasi batch untuk menyinkronkan semua data dalam database ke Elasticsearch.
Menyinkronkan data lengkap dan inkremental dalam jumlah besar ke Alibaba Cloud Elasticsearch secara real time. Untuk informasi selengkapnya, lihat Sinkronkan seluruh database MySQL ke Elasticsearch secara real time.
Prasyarat
Proyek MaxCompute telah dibuat. Untuk informasi selengkapnya, lihat Buat proyek MaxCompute.
Kluster Alibaba Cloud Elasticsearch telah dibuat, dan fitur Pengindeksan Otomatis diaktifkan untuk kluster tersebut. Untuk informasi selengkapnya, lihat Buat kluster Alibaba Cloud Elasticsearch dan Konfigurasi file YML.
Ruang kerja DataWorks telah dibuat. Untuk informasi selengkapnya, lihat Buat ruang kerja.
Sinkronisasi data hanya didukung untuk instans Alibaba Cloud ES. Kluster Elasticsearch yang dikelola sendiri tidak didukung.
Proyek MaxCompute, instans ES, dan ruang kerja DataWorks harus berada di wilayah yang sama.
Instans ES, proyek MaxCompute, dan ruang kerja DataWorks harus berada di zona waktu yang sama. Jika tidak, perbedaan zona waktu mungkin terjadi antara data sumber dan tujuan setelah data terkait waktu disinkronkan.
Penagihan
Untuk informasi selengkapnya tentang biaya instans ES, lihat Item yang dapat ditagih ES.
Untuk informasi selengkapnya tentang penagihan grup sumber daya eksklusif untuk Integrasi Data, lihat Penagihan grup sumber daya eksklusif untuk Integrasi Data (langganan).
Prosedur
Langkah 1: Siapkan data sumber
Buat tabel di MaxCompute dan impor data ke dalam tabel tersebut. Untuk informasi selengkapnya, lihat Buat tabel dan Impor data ke tabel.
Skema tabel dan data berikut digunakan dalam topik ini:
Skema tabel

Sebagian data tabel

Langkah 2: Beli dan konfigurasi grup sumber daya eksklusif
Beli grup sumber daya eksklusif untuk Integrasi Data. Kemudian, sambungkan virtual private cloud (VPC) dan ruang kerja ke grup sumber daya tersebut. Grup sumber daya eksklusif memastikan transmisi data yang cepat dan stabil.
Masuk ke Konsol DataWorks.
Di bilah navigasi atas, pilih wilayah. Di panel navigasi sebelah kiri, klik Resource Group.
Di tab Exclusive Resource Groups, klik .
Di halaman pembelian DataWorks Exclusive Resource (Subscription), atur Exclusive Resource Type menjadi Exclusive Resource For Data Integration, masukkan nama untuk grup sumber daya, lalu klik Buy Now untuk membeli grup sumber daya eksklusif tersebut.
Untuk informasi selengkapnya, lihat Langkah 1: Buat grup sumber daya eksklusif untuk Integrasi Data.
Temukan grup sumber daya eksklusif yang telah dibuat dan di kolom Actions, klik Network Settings untuk menyambungkan virtual private cloud (VPC). Untuk informasi selengkapnya, lihat Sambungkan VPC.
CatatanDalam contoh ini, grup sumber daya eksklusif untuk Integrasi Data digunakan untuk menyinkronkan data melalui VPC. Untuk informasi tentang cara menggunakan grup sumber daya eksklusif untuk Integrasi Data guna menyinkronkan data melalui Internet, lihat Konfigurasi daftar putih alamat IP.
Grup sumber daya eksklusif harus terhubung ke VPC tempat kluster Elasticsearch berada. Hal ini memungkinkan data disinkronkan menggunakan grup sumber daya eksklusif. Oleh karena itu, Anda harus mengaitkan grup sumber daya eksklusif dengan VPC, Zone, dan vSwitch kluster Elasticsearch. Untuk melihat VPC, zona, dan vSwitch kluster Elasticsearch, lihat Lihat informasi dasar kluster.
PentingSetelah Anda mengaitkan VPC, Anda harus menambahkan vSwitch CIDR Block dari VPC ke daftar putih akses internal-VPC instans Elasticsearch. Untuk informasi selengkapnya, lihat Konfigurasi daftar putih akses publik atau internal-facing untuk instans Elasticsearch.
Di pojok kiri atas halaman, klik ikon kembali untuk kembali ke halaman Resource Group List.
Di kolom Operation grup sumber daya eksklusif yang telah dibuat, klik Attach Workspace untuk menyambungkan ruang kerja target ke grup sumber daya tersebut.
Untuk informasi selengkapnya, lihat Langkah 2: Kaitkan grup sumber daya eksklusif untuk Integrasi Data dengan ruang kerja.
Langkah 3: Tambahkan sumber data
Tambahkan MaxCompute dan Elasticsearch sebagai sumber data ke layanan Integrasi Data DataWorks.
Buka halaman Data Integration di DataWorks.
Masuk ke Konsol DataWorks.
Di panel navigasi sebelah kiri, klik Workspaces.
Di kolom Operation ruang kerja target, pilih .
Di panel navigasi sebelah kiri, klik Data Source.
Tambahkan sumber data MaxCompute.
Di halaman Data Source List, klik Add Data Source.
Di halaman Add Data Source, cari dan pilih MaxCompute.
Di kotak dialog Add MaxCompute Data Source, konfigurasikan parameter sumber data di bagian Basic Information.
Untuk informasi selengkapnya, lihat Tambahkan sumber data MaxCompute.
Di bagian Connection Configuration, klik Test Connectivity. Jika status konektivitas adalah Connected, koneksi berhasil.
Klik Complete.
Tambahkan sumber data Elasticsearch dengan cara yang sama. Untuk informasi selengkapnya, lihat Tambahkan sumber data Elasticsearch.
Langkah 4: Konfigurasi dan jalankan tugas sinkronisasi data
Tugas sinkronisasi data dijalankan menggunakan grup sumber daya eksklusif. Grup sumber daya mengambil data dari sumber data di Integrasi Data dan menulis data tersebut ke Elasticsearch.
Anda dapat menggunakan antarmuka tanpa kode atau editor kode untuk mengonfigurasi tugas sinkronisasi batch. Dalam contoh ini, digunakan antarmuka tanpa kode. Untuk informasi tentang cara menggunakan editor kode untuk mengonfigurasi tugas sinkronisasi batch, lihat Konfigurasi tugas sinkronisasi batch menggunakan editor kode dan Elasticsearch Writer.
Topik ini menggunakan halaman Data Development (DataStudio) lama sebagai contoh untuk menunjukkan cara membuat tugas sinkronisasi offline.
Buka halaman Data Development di DataWorks.
Masuk ke Konsol DataWorks.
Di panel navigasi sebelah kiri, klik Workspaces.
Di kolom Operation ruang kerja target, pilih .
Buat tugas sinkronisasi offline.
Di tab Data Development (
icon) di panel navigasi sebelah kiri, pilih dan ikuti petunjuk di layar untuk membuat alur kerja.Klik kanan alur kerja yang telah Anda buat dan pilih .
Di kotak dialog Create Node, masukkan nama node dan klik Confirm.
Konfigurasi jaringan dan grup sumber daya.
Di bagian Data Source, atur Source menjadi MaxCompute (ODPS) dan Data Source Name menjadi nama sumber data sumber.
Di bagian My Resource Group, pilih grup sumber daya eksklusif.
Di bagian Data Destination, atur Destination menjadi Elasticsearch dan Data Source Name menjadi nama sumber data tujuan.
Klik Next.
Konfigurasi tugas.
Di bagian Data Source, pilih tabel sumber.
Di bagian Data Destination, konfigurasikan parameter.
Di bagian Field Mapping, atur pemetaan antara Source Field dan Destination Field.
Di bagian Channel Control, konfigurasikan parameter saluran.
Untuk informasi selengkapnya, lihat Konfigurasi tugas sinkronisasi batch menggunakan antarmuka tanpa kode.
Jalankan tugas.
(Opsional) Konfigurasi properti penjadwalan untuk tugas tersebut. Di panel navigasi sebelah kanan, klik Properties. Di tab Properties, konfigurasikan parameter sesuai kebutuhan. Untuk informasi selengkapnya tentang parameter tersebut, lihat Konfigurasi penjadwalan.
Di pojok kanan atas tab konfigurasi node, klik ikon Simpan untuk menyimpan tugas.
Di pojok kanan atas tab konfigurasi node, klik ikon Kirim untuk mengirimkan tugas.
Jika Anda mengonfigurasi properti penjadwalan, tugas akan berjalan secara otomatis sesuai jadwal. Anda juga dapat mengklik ikon Jalankan di pojok kanan atas tab konfigurasi node untuk menjalankan tugas segera.
Jika log berisi
Shell run successfully!, tugas berhasil dijalankan. Kode berikut menunjukkan contoh log:2023-10-31 16:52:35 INFO Exit code of the Shell command 0 2023-10-31 16:52:35 INFO --- Invocation of Shell command completed --- 2023-10-31 16:52:35 INFO Shell run successfully! 2023-10-31 16:52:35 INFO Current task status: FINISH 2023-10-31 16:52:35 INFO Cost time is: 33.106s
Langkah 5: Verifikasi hasil sinkronisasi data
Di konsol Kibana, Anda dapat melihat data yang telah disinkronkan dan mengkueri data berdasarkan kondisi tertentu.
Masuk ke konsol Kibana dari instans Alibaba Cloud ES target.
Untuk informasi selengkapnya, lihat Masuk ke konsol Kibana.
Di pojok kiri atas halaman Kibana, klik ikon
dan pilih Dev Tools.Di Console, jalankan perintah berikut untuk melihat data yang telah disinkronkan.
POST /odps_index/_search?pretty { "query": { "match_all": {}} }Catatanodps_indexadalah nilai dari bidangindexyang Anda atur dalam skrip sinkronisasi data.Jika data telah disinkronkan, hasil yang mirip dengan berikut akan dikembalikan.

Jalankan perintah berikut untuk mencari bidang
categorydanbranddalam dokumen.POST /odps_index/_search?pretty { "query": { "match_all": {} }, "_source": ["category", "brand"] }Jalankan perintah berikut untuk mencari dokumen di mana
categoryadalahfresh produce.POST /odps_index/_search?pretty { "query": { "match": {"category":"fresh produce"} } }Jalankan perintah berikut untuk mengurutkan dokumen berdasarkan bidang
trans_num.POST /odps_index/_search?pretty { "query": { "match_all": {} }, "sort": { "trans_num": { "order": "desc" } } }Untuk informasi selengkapnya tentang perintah dan metode akses, lihat Elastic.co Help Center.