MaxCompute adalah platform komputasi terbuka. Untuk mengindeks data MaxCompute di OpenSearch, hubungkan proyek MaxCompute ke aplikasi OpenSearch Anda. Setelah pengindeksan ulang dipicu, OpenSearch secara otomatis menarik data lengkap dari tabel-tabel dalam proyek tersebut. Untuk mendapatkan data inkremental, gunakan API atau SDK OpenSearch.
Sumber data MaxCompute hanya mendukung sinkronisasi penuh. Sinkronisasi inkremental tidak didukung.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
Proyek MaxCompute yang dibuat di bawah Akun Alibaba Cloud yang sama yang Anda gunakan untuk masuk ke Konsol OpenSearch
Pasangan Kunci Akses (ID AccessKey dan AccessKey Secret) untuk Akun Alibaba Cloud Anda, atau pasangan AccessKey Pengguna RAM dengan izin yang diperlukan
Siapkan izin Pengguna RAM
OpenSearch mengakses proyek MaxCompute Anda menggunakan pasangan AccessKey Akun Alibaba Cloud Anda. Untuk mengurangi risiko keamanan, gunakan pasangan AccessKey Pengguna RAM sebagai gantinya. Ikuti langkah-langkah berikut untuk membuat Pengguna RAM dan memberikan izin yang diperlukan.
Lewati bagian ini jika Anda berencana menggunakan pasangan AccessKey Akun Alibaba Cloud Anda secara langsung.
Buat Pengguna RAM. Lihat Create a RAM user.
Masuk ke Konsol MaxCompute dan tambahkan Pengguna RAM sebagai anggota proyek. Tetapkan role sesuai kebutuhan Anda.
Pada halaman DataStudio, jalankan perintah berikut untuk menemukan nama akun anggota yang ditambahkan:
list users;
Salin nama akun tersebut, lalu jalankan perintah berikut untuk memberikan izin. Ganti
xxxdengan nama akun yang disalin.-- 1. Berikan izin LIST pada proyek MaxCompute. grant CreateInstance,List on project zy_ts_test to user xxx; -- 2. Berikan izin SELECT, DESCRIBE, dan DOWNLOAD pada tabel MaxCompute. GRANT select,describe,download ON TABLE people_info TO USER xxx; -- 3. (Opsional) Berikan izin berbasis label pada tabel MaxCompute. set label 2 to USER xxx; -- Kueri izin pengguna tertentu dan informasi tentang role yang diberikan kepada pengguna tersebut. show grants for xxx;
Konfigurasikan sumber data MaxCompute
Pada halaman Configure Application, klik Use Data Source di bagian Application Schema Creation Method. Pada panel Select Data Source, pilih MaxCompute.


Klik Connect to Database dan isi bidang-bidang berikut:
Field Description Project Name Nama proyek MaxCompute Anda AccessKey ID ID AccessKey Alibaba Cloud Anda atau ID AccessKey Pengguna RAM AccessKey Secret AccessKey Secret Alibaba Cloud Anda atau AccessKey Secret Pengguna RAM 
Klik Connect, lalu pilih satu atau beberapa tabel. Sistem akan memetakan bidang yang sesuai secara otomatis. Sesuaikan pemetaan bidang sesuai kebutuhan Anda, lalu klik Next.
PentingUntuk setiap tabel, buat tabel utama dan definisikan bidang kunci utama yang unik.


Konfigurasikan skema indeks. Pilih alat analisis berdasarkan kebutuhan pencarian Anda. Lihat Index schema. Klik Next.

Konfigurasikan sumber data. Langkah ini mencakup pemetaan bidang, pemilihan partisi, dan kontrol konkurensi.
Konfigurasikan pemetaan bidang
Klik Edit di kolom Action. Untuk menerapkan Plugin sumber data ke suatu bidang, klik tanda plus (+) di kolom Content Conversion. Plugin tersebut mengubah bidang sumber sebelum disinkronkan ke OpenSearch. Jika Plugin gagal karena kesalahan konfigurasi atau masalah koneksi, bidang sumber akan disinkronkan tanpa konversi.

Konfigurasikan Plugin.![]()
Lihat Data source plug-ins untuk daftar lengkap Plugin yang didukung.
Tipe data MaxCompute yang didukung
| MaxCompute type | Notes |
|---|---|
| BIGINT | — |
| DOUBLE | — |
| BOOLEAN | — |
| DATETIME | Secara otomatis dikonversi ke milidetik. Atur tipe bidang OpenSearch yang sesuai menjadi INT. |
| STRING | — |
| DECIMAL | — |
Pilih partisi
OpenSearch mendukung ekspresi reguler untuk memfilter data partisi mana yang akan diimpor. Misalnya, ds=%Y%m%d || -1 days mengimpor data lengkap hari sebelumnya. Untuk mengimpor data partisi inkremental setiap hari, klik Reindex pada halaman Application Details untuk mengatur tugas pengindeksan ulang terjadwal.

ds adalah nama bidang partisi. Tidak boleh ada spasi di kedua sisi tanda sama dengan (=).
Karakter tercadang: =, ,, ;, ||
Sintaks filter partisi
| Rule | Syntax | Example | Result |
|---|---|---|---|
| Beberapa aturan filter | Pisahkan aturan dengan ; | pt=1;pt=2 | Mencocokkan partisi di mana pt=1 atau pt=2 |
| Beberapa bidang partisi | Pisahkan bidang dengan , | pt1=1,pt2=2,pt3=3 | Mencocokkan partisi di mana ketiga kondisi terpenuhi |
| Nilai bidang wildcard | Gunakan * sebagai nilai bidang | pt=* | Mencocokkan partisi dengan nilai pt apa pun; bidang menjadi opsional |
| Nilai bidang berbasis regex | Gunakan regex sebagai nilai bidang | pt=[0-9]* | Mencocokkan partisi di mana pt berupa angka |
| Pencocokan berbasis waktu | field=%format || interval | ds=%Y%m%d || -1 days | Mengimpor data dari partisi hari sebelumnya |
Ekspresi berbasis waktu (%Y%m%d || -1 days) hanya mendukung satu bidang partisi, bukan beberapa bidang. Pola berikut tidak didukung:
pt=1,ds=%Y%m%d || -1 dayspt=1;pt=%Y%m%d || -1 days

Contoh: Tabel MaxCompute memiliki partisi pt dengan partisi anak ds (seperti yang ditunjukkan di atas).
Impor data dari beberapa partisi:
pt=1;pt=2menyinkronkan semua data dipt=1danpt=2.Impor data dari partisi anak tertentu:
pt=1,ds=1menyinkronkan data di partisi anakds=1daript=1.
Parameter format waktu
| Parameter | Description | Valid values |
|---|---|---|
%d | Hari dalam bulan | — |
%H | Jam (format 24 jam) | 0–23 |
%m | Nomor bulan | 01–12 |
%M | Menit | 00–59 |
%S | Kedua | 00–61 |
%y | Tahun (2 digit) | — |
%Y | Tahun (4 digit) | — |
Sistem menerapkan offset +0 days ke semua parameter waktu secara default. String yang cocok dengan token format waktu diinterpretasikan sebagai nilai waktu, bukan string literal. Misalnya, untuk tugas yang dibuat pada hari Rabu, pt=%abc mencocokkan partisi di mana pt bernilai Wedbc, bukan %abc.
Format ekspresi interval waktu: +/- n week|weeks|day|days|hour|hours|minute|minutes|second|seconds|microsecond|microseconds
Nilai positif (+) menunjukkan waktu setelah tugas pengindeksan ulang terjadwal dibuat. Nilai negatif (-) menunjukkan waktu sebelumnya.
Konfigurasikan kontrol konkurensi
Pilih Use DONE File untuk mengontrol kapan OpenSearch menarik data lengkap, sehingga memastikan integritas data. Sebelum menarik, OpenSearch memeriksa apakah file DONE untuk hari ini tersedia. Jika file tersebut tidak ada, OpenSearch menunggu hingga 1 jam (timeout default).
Persyaratan:
Unduh Klien MaxCompute (odpscmd). Nama file paketnya adalah
odps_clt_release_64.tar.gz.Pengguna RAM atau Akun Alibaba Cloud harus memiliki izin CreateResource pada proyek MaxCompute.
Unggah file DONE
Setelah menginstal klien MaxCompute, jalankan perintah berikut. Ganti placeholder dengan nilai aktual Anda.
odpscmd -u accessid -p accesskey --project=<prj_name> -e "add file <done file>;"Nama file DONE mengikuti format $prefix_%Y-%m-%d, di mana $prefix secara default adalah nama tabel dan %Y-%m-%d adalah tanggal tugas pengindeksan ulang terjadwal. Interval pengindeksan ulang minimum adalah satu hari.
Isi file DONE
File DONE harus dalam format JSON dan hanya berisi timestamp dalam milidetik. Timestamp tersebut menentukan titik waktu mulai penambahan data inkremental. Sistem hanya menyimpan data inkremental tiga hari terakhir, sehingga timestamp harus berada dalam rentang tersebut.
{
"timestamp": "1234567890000"
}Jika Anda menghilangkan timestamp, data inkremental akan ditambahkan sejak waktu mulai tugas pengindeksan ulang terjadwal. Hal ini dapat menyebabkan kehilangan data jika data lengkap dihasilkan sebelum tugas dimulai.
Contoh: Data lengkap dihasilkan pukul 09.00, MaxCompute memprosesnya pukul 10.00, dan tugas pengindeksan ulang terjadwal dimulai pukul 10.30. Tanpa timestamp dalam file DONE, hanya data inkremental setelah pukul 10.30 yang ditambahkan — data dari pukul 09.00 hingga 10.30 hilang. Atur timestamp ke nilai milidetik pukul 09.00 agar semua data inkremental sejak saat itu tertangkap.
Preferensi waktu data dan file DONE
Waktu data selalu diperlukan dan lebih diutamakan daripada file DONE. Aturan berikut berlaku berdasarkan konfigurasi Anda:
| Scenario | Required | Precedence |
|---|---|---|
| Versi aplikasi tunggal | Hanya waktu data | Waktu data (file DONE tidak dapat digunakan sendiri) |
| Pengindeksan ulang terjadwal (versi pertama) | Waktu data + file DONE | Waktu data |
| Pengindeksan ulang terjadwal (versi berikutnya) | Waktu data + file DONE | File DONE |
Langkah selanjutnya
Untuk memicu sinkronisasi data lengkap, klik Reindex pada halaman Application Details.
Untuk mengatur sinkronisasi berulang, konfigurasikan tugas pengindeksan ulang terjadwal dari halaman yang sama.
Untuk mendorong data inkremental yang tidak tertangkap oleh sinkronisasi lengkap, gunakan API atau SDK OpenSearch.