All Products
Search
Document Center

OpenSearch:Konfigurasi sumber data MaxCompute

Last Updated:Jun 21, 2026

MaxCompute, sebelumnya dikenal sebagai Open Data Processing Service (ODPS), adalah platform komputasi terbuka. Jika data Anda dihasilkan di platform MaxCompute, Anda dapat mengonfigurasikannya sebagai sumber data dalam aplikasi OpenSearch Anda. Saat memicu tugas reindex aplikasi, sistem secara otomatis mengambil seluruh data dari tabel MaxCompute yang ditentukan. Data inkremental berikutnya harus didorong menggunakan panggilan SDK atau API.

Siapkan AccessKey

Setelah mengonfigurasi sumber data MaxCompute di OpenSearch, OpenSearch menggunakan AccessKey dan AccessKey Secret yang Anda berikan untuk mengunduh data dari tabel MaxCompute. Oleh karena itu, sebelum mengonfigurasi sumber data, pastikan Anda telah memiliki AccessKey dan AccessKey Secret yang siap digunakan.

Catatan

Proyek MaxCompute dan aplikasi OpenSearch Anda harus berada dalam Akun Alibaba Cloud yang sama.

  • Anda dapat menggunakan pasangan AccessKey Akun Alibaba Cloud Anda untuk mengakses tabel dalam proyek MaxCompute yang berada dalam akun yang sama.

  • Untuk keamanan yang lebih baik, kami menyarankan agar Anda menggunakan RAM user sebagai gantinya. Ikuti langkah-langkah berikut.

  1. Buat RAM user di bawah Akun Alibaba Cloud Anda. Untuk informasi selengkapnya, lihat Create a RAM user.

  2. Tambahkan RAM user tersebut sebagai anggota di MaxCompute.

Di ruang kerja DataWorks Anda, pilih Member Management dari panel navigasi kiri. Di halaman manajemen anggota, klik Add Member di pojok kanan atas. Untuk melihat izin setiap role, klik View Role Permissions.

Role yang tersedia meliputi: Workspace Administrator, Developer, O&M, Deployer, Visitor, Security Administrator, dan Model Designer. Di kotak dialog Add Member, pindahkan RAM user dari daftar Accounts to Add ke daftar Added Accounts. Di area Batch Set Roles, pilih role yang diperlukan lalu klik OK.

  1. Setelah menambahkan anggota, jalankan perintah list users; di halaman pengembangan data MaxCompute untuk melihat nama akun mereka:

OK
OK
OK
OK
OK
OK
OK
OK
A xxx xxx xxx xxx
RAM$op xxx h_test@test.xxx xxx xxx st_1
2022-02-10 18:34:33 INFO xxx======================================================
2022-02-10 18:34:33 INFO Exit code of the Shell command 0
2022-02-10 18:34:33 INFO -- Invocation of Shell command completed ---
  1. Salin nama akun lengkap tersebut, lalu berikan izin kepada akun tersebut. Dalam perintah berikut, ganti xxx dengan nama akun yang telah Anda salin.

-- 1. Berikan izin CreateInstance dan List pada proyek.
grant CreateInstance,List on project zy_ts_test to user xxx;
-- 2. Berikan izin SELECT, DESCRIBE, dan DOWNLOAD pada tabel.
GRANT select,describe,download ON TABLE people_info TO USER xxx;
-- 3. (Opsional) Berikan izin label pada tabel ODPS.
set label 2 to USER  xxx;
-- Kueri izin dan role yang ditetapkan untuk pengguna tertentu.
show grants for xxx;

Setelah memberikan izin, Anda dapat mengonfigurasi sumber data MaxCompute di OpenSearch.

Konfigurasi sumber data

Di Konsol OpenSearch, pilih Use Data Source untuk memulai proses pembuatan aplikasi.

  1. Klik Connect to Database untuk mengonfigurasi informasi MaxCompute (sebelumnya ODPS) Anda. Masukkan nama proyek serta AccessKey dan AccessKey Secret dari akun yang telah diberi otorisasi:

Dari daftar jenis sumber data, pilih MaxCompute. Di halaman pemilihan tabel, pindahkan tabel people_info dari daftar tabel di kiri ke daftar terpilih di kanan.

Setelah menyelesaikan langkah ini, sistem secara otomatis memetakan bidang-bidang tabel. Anda dapat menyesuaikan pemetaan tersebut sesuai kebutuhan bisnis Anda. Setelah selesai, klik Next.

Penting

Saat mengonfigurasi skema aplikasi, OpenSearch mengharuskan Anda menentukan tabel utama dan bidang kunci primer unik untuk setiap tabel.

  1. Konfigurasi skema indeks. Pilih alat analisis yang sesuai berdasarkan kebutuhan pencarian Anda. Untuk informasi selengkapnya, lihat Index schema. Setelah selesai, klik Next:

Halaman konfigurasi skema indeks terdiri dari tiga bagian: Index Fields (atur nama indeks, bidang yang disertakan, dan metode analisis, seperti Chinese - General Analysis atau Keyword), Attribute Fields (digunakan untuk operasi filter, agregasi, pengurutan, dan distinct dengan klausa filter, aggregate, sort, dan distinct), dan Default Display Fields (konfigurasi bidang yang akan ditampilkan dalam hasil pencarian).

  1. Konfigurasi sumber data: Langkah ini mencakup konfigurasi pemetaan bidang, pemilihan informasi partisi, dan pemilihan mekanisme kontrol konkurensi sinkronisasi data.

5.1. Konfigurasi pemetaan bidang: Klik Edit di kolom Action. OpenSearch menyediakan beberapa Plugin sumber data untuk data MaxCompute (sebelumnya ODPS). Untuk menggunakan plugin, klik tanda plus (+) di kolom Content Conversion saat mengonfigurasi pemetaan bidang. Plugin tersebut mengubah bidang sumber sebelum disinkronkan ke OpenSearch. Jika plugin gagal karena kesalahan konfigurasi atau koneksi, bidang sumber tetap disinkronkan tanpa konversi.

Konfigurasi plugin: Di kotak dialog Plugin and Parameter Settings, pilih salah satu dari empat plugin konversi konten di sebelah kiri: HTMLTagRemover, JsonKeyValueExtractor, KeyValueExtractor, dan StringCatenateExtractor. Setelah memilih plugin, konfigurasikan parameternya di sebelah kanan lalu klik Save.

Penting

    Jenis bidang MaxCompute (sebelumnya ODPS) berikut ini didukung: Bigint, Double, Boolean, Datetime, String, dan Decimal.

  • Untuk tipe DATETIME di tabel ODPS, sistem secara otomatis mengonversi nilainya ke milidetik. Atur tipe bidang OpenSearch yang sesuai menjadi INT.

Antarmuka pemetaan bidang menampilkan hubungan bidang sumber ke target dalam bentuk tabel. Setiap baris mencakup nama bidang sumber, nama bidang target, dan kolom Content Conversion. Anda dapat mengklik tombol "+" di kolom Content Conversion untuk menambahkan plugin, serta menggunakan tombol Edit di kolom Action untuk memodifikasi konfigurasi pemetaan.

5.2. Tentukan partisi: OpenSearch memungkinkan Anda menentukan partisi mana yang akan diimpor dari data MaxCompute (sebelumnya ODPS) sesuai kebutuhan. Anda dapat menggunakan ekspresi reguler untuk memilih partisi, misalnya untuk mengimpor data dari partisi hari sebelumnya. Dengan menggabungkan fitur ini dengan fungsi reindex terjadwal, Anda dapat secara otomatis mengimpor partisi data baru setiap hari.

Ekspresi reguler: Tanda sama dengan (=), koma (,), titik koma (;), dan double vertical bar (||) merupakan karakter yang dicadangkan. Misalnya, untuk secara otomatis mengimpor seluruh data dari partisi hari sebelumnya, gunakan ds=%Y%m%d || -1 days.

Setelah dikonfigurasi, daftar sumber data akan menampilkan catatan tabel ODPS yang telah ditambahkan, termasuk bidang seperti Project Name (contoh: search_offline_dev), Table Name (contoh: agg_pv_log_test), Partition Import Condition, dan Data Time. Anda dapat Delete sumber data yang telah dikonfigurasi dari kolom Action.

Catatan

ds adalah nama bidang partisi. Jangan menambahkan spasi atau karakter tak terlihat lainnya di kedua sisi tanda sama dengan (=).

Contoh berikut menunjukkan cara menggunakan kondisi partisi MaxCompute (sebelumnya ODPS) dalam berbagai skenario:

  • 1. Mendukung beberapa aturan filter partisi. Pisahkan aturan berbeda dengan titik koma (;). Misalnya, pt=1;pt=2 mencocokkan semua partisi di mana bidang partisi pt bernilai 1 atau 2.

  • 2. Satu aturan filter dapat menentukan nilai untuk beberapa bidang partisi. Pisahkan bidang berbeda dengan koma (,). Misalnya, pt1=1,pt2=2,pt3=3 mencocokkan semua partisi yang secara bersamaan memenuhi pt1=1, pt2=2, dan pt3=3. Catatan: Fitur fungsi waktu seperti %Y%m%d || -1 days tidak didukung untuk beberapa partisi.

1

Contoh: (Gambar di atas menunjukkan tabel ODPS yang memiliki sub-partisi ds di bawah partisi pt)

  • Beberapa partisi: pt=1;pt=2 menyinkronkan seluruh data dari partisi pt=1 dan pt=2.

  • Tentukan nilai untuk beberapa bidang partisi: pt=1,ds=1 menyinkronkan data dari partisi di mana pt=1 dan ds=1.

  • Kasus yang tidak didukung: Kasus seperti pt=1,ds=%Y%m%d || -1 days atau pt=1;pt=%Y%m%d || -1 days saat ini tidak didukung.

  • 3. Nilai bidang partisi mendukung karakter wildcard (*), yang berarti bidang tersebut dapat memiliki nilai apa pun. Dalam kasus ini, Anda dapat menghilangkan bidang tersebut dari aturan filter.

  • 4. Nilai bidang partisi mendukung ekspresi reguler. Misalnya, pt=[0-9]* mencocokkan semua partisi di mana nilai pt berupa angka.

  • 5. Nilai bidang partisi mendukung pencocokan waktu. Aturannya adalah: pt=<nilai kolom partisi dengan format waktu>||<ekspresi interval waktu>. Misalnya, ds=%Y%m%d || -1 days berarti bidang partisi adalah ds, formatnya adalah 20150510, dan Anda perlu mengakses data dari satu hari yang lalu.

  • 5.1 Parameter format waktu mendukung penentu format waktu standar, seperti yang ditunjukkan dalam tabel berikut.

  • 5.2 Ekspresi interval waktu mendukung +/- n week|weeks|day|days|hour|hours|minute|minutes|second|seconds|microsecond|microseconds. Tanda plus (+) menunjukkan waktu n satuan setelah waktu pembuatan tugas, sedangkan tanda minus (-) menunjukkan waktu n satuan sebelum waktu pembuatan tugas.

  • 5.3 Secara default, sistem menerapkan offset +0 days ke semua aturan filter. Oleh karena itu, perhatikan bahwa nilai bidang yang digunakan untuk filter tidak boleh mengandung string yang cocok dengan penentu format waktu. Misalnya, untuk tugas yang dibuat pada hari Rabu, pt=%abc akan mencocokkan partisi di mana nilai pt adalah Wedbc, bukan %abc.

Tabel berikut menjelaskan semua parameter ekspresi reguler yang tersedia beserta maknanya:

%d: Hari dalam bulan ([01-31])
%H: Jam dalam format 24 jam ([00, 23])     
%m: Bulan ([01, 12])  
%M: Menit ([00, 59])   
%S: Detik ([00, 61])   
%y: Tahun dalam bentuk 2 digit  
%Y: Tahun dalam bentuk 4 digit

5.3. Pilih mekanisme kontrol konkurensi sinkronisasi data:

Saat Anda memilih Use DONE file, Anda dapat mengontrol waktu pengambilan data penuh dengan mengunggah file DONE. Hal ini menjamin integritas data penuh. Sebelum menarik data penuh dari MaxCompute (sebelumnya ODPS), sistem memeriksa keberadaan file DONE untuk hari tersebut. Jika file tidak ada, sistem akan menunggu. Timeout default adalah satu jam.

  • Unduh odpscmd dari website resmi ODPS. Nama file-nya adalah odps_clt_release_64.tar.gz.

  • Anda harus memiliki izin CreateResource untuk ruang kerja proyek.

  • Setelah instalasi, jalankan perintah berikut di terminal Anda. Aturan penamaan file DONE adalah $prefix_%Y-%m-%d, di mana $prefix adalah awalan nama file (default-nya adalah nama tabel). %Y-%m-%d merepresentasikan tanggal tugas reindex karena granularitas minimum untuk tugas terjadwal adalah satu hari.

    odpscmd -u accessid -p accesskey --project=<prj_name> -e "add file <done file>;"
  • Untuk petunjuk penggunaan client MaxCompute odpscmd, lihat Connect by using a client (odpscmd).

  • File DONE harus dalam format JSON dan menentukan timestamp dalam milidetik untuk batch data penuh tersebut. Data inkremental disimpan maksimal selama tiga hari, sehingga timestamp ini tidak boleh lebih dari tiga hari di masa lalu.

  • Timestamp ini menunjukkan titik waktu mulai backfill data inkremental. Jika tidak dikonfigurasi, sistem secara default menambahkan data mulai dari waktu mulai tugas reindex.

  • Misalnya, data penuh Anda dihasilkan pukul 09.00. ODPS selesai memprosesnya pukul 10.00. Tugas reindex OpenSearch terjadwal dijalankan pukul 10.30. Untuk menjamin integritas data, file DONE harus menentukan timestamp untuk pukul 09.00 (dalam milidetik). Dengan demikian, setelah data penuh diproses, sistem akan menambahkan semua data inkremental yang dihasilkan setelah pukul 09.00. Jika Anda tidak menentukan timestamp ini, sistem akan menggunakan waktu mulai tugas (10.30) sebagai default, sehingga data inkremental dari pukul 09.00 hingga 10.30 akan hilang. Jika Anda tidak memiliki data inkremental, Anda tidak perlu mengonfigurasi timestamp.

  • Konten file DONE untuk aplikasi Edisi Lanjutan ditunjukkan di bawah ini. Catatan: Prinsip yang sama berlaku untuk nilai data time yang diperlukan dalam aplikasi Edisi Standar; keduanya digunakan untuk mengejar ketinggalan data inkremental dari panggilan API selama reindex.

{
"timestamp":"1234567890000"
}

Prioritas file DONE dan Data Time:

  1. Pengaturan Data Time untuk sumber data ODPS wajib diisi dan memiliki prioritas lebih tinggi daripada file DONE.

  2. Jika Anda hanya membuat satu versi, Anda hanya perlu menentukan Data Time. Anda tidak dapat menggunakan file DONE saja.

  3. Jika Anda menggunakan reindex terjadwal, Anda harus mengonfigurasi Data Time dan file DONE. Versi pertama memberikan prioritas kepada Data Time, sedangkan semua versi berikutnya memberikan prioritas kepada file DONE.

Penting

Sumber data MaxCompute hanya mendukung sinkronisasi data penuh. Sinkronisasi data inkremental tidak didukung.