全部产品
Search
文档中心

OpenSearch:Sumber Data MaxCompute

更新时间:Jul 02, 2025

Prasyarat

  • Anda sudah familiar dengan MaxCompute yang sebelumnya dikenal sebagai ODPS. Untuk informasi lebih lanjut tentang MaxCompute, lihat Apa itu MaxCompute?

  • Akun yang Anda gunakan untuk masuk ke konsol OpenSearch Retrieval Engine Edition memiliki izin berikut pada tabel MaxCompute yang ingin dikonfigurasi: izin DESCRIBE, SELECT, dan DOWNLOAD pada tabel serta izin LABEL pada kolom tabel tersebut.

Anda dapat menjalankan pernyataan berikut untuk memberikan izin yang diperlukan kepada sebuah akun:

-- Tambahkan akun.
add user ****@aliyun.com;

-- Berikan izin yang diperlukan kepada akun.
GRANT describe,select,download ON TABLE table_xxx TO USER ****@aliyun.com
GRANT describe,select,download ON TABLE table_xxx_done TO USER ****@aliyun.com

-- Jika Anda mengaktifkan verifikasi izin kolom untuk tabel MaxCompute Anda, sistem akan mencegah Anda mengakses kolom dengan hak istimewa tinggi saat menarik data, dan indeks tidak dapat dibuat untuk tabel tersebut. Dalam hal ini, Anda harus memberikan akun Anda izin untuk mengakses semua kolom.
-- Berikan izin pada seluruh proyek.
SET LABEL 3 to USER ****@aliyun.com

-- Berikan izin pada satu tabel.
GRANT LABEL 3 ON TABLE table_xxx(col1, col2) TO ****@aliyun.com
  • Kolom dalam tabel MaxCompute Anda harus bertipe data berikut: STRING, BOOLEAN, DOUBLE, BIGINT, dan DATETIME.

Catatan

Untuk informasi lebih lanjut tentang pernyataan pembuatan tabel dan parameter untuk menambahkan sumber data MaxCompute, lihat Pernyataan CREATE TABLE untuk membuat tabel di sumber data MaxCompute.

Konfigurasi Sumber Data MaxCompute

1. Masuk ke konsol OpenSearch. Di pojok kiri atas, pilih OpenSearch Retrieval Engine Edition. Pada halaman Instance, temukan instance yang ingin dikelola dan klik Manage di kolom Actions.

  1. Di panel navigasi di sebelah kiri, pilih Configuration Center > Data Source. Klik Add Data Source. Di panel yang muncul, pilih MaxCompute sebagai tipe sumber data dan konfigurasikan parameter seperti Data Source Name, Project, AccessKey, AccessKey Secret, Table, Partition Key, dan Automatic Reindexing.

3. Setelah parameter dikonfigurasi, klik Verify. Setelah konfigurasi lolos verifikasi, klik OK.

4. Setelah sumber data dibuat, konfigurasikan skema indeks untuk membuat tabel indeks untuk sumber data. Untuk informasi lebih lanjut, lihat bagian Tambahkan tabel indeks dari topik "Skema Indeks".

5. Setelah tabel indeks dikonfigurasi, perbarui konfigurasi sumber data dan picu reindexing untuk memastikan bahwa sumber data dapat digunakan oleh kluster online. Untuk informasi lebih lanjut, lihat Perbarui konfigurasi.

Deskripsi Parameter

  • Data Source Name: Nama sumber data. Tentukan nama dalam format InstanceName_CustomName.

  • Project, AccessKey, AccessKey Secret, Table, dan Partition Key: Parameter yang diperlukan untuk terhubung ke sumber data MaxCompute.

  • Automatic Reindexing: Menentukan apakah fitur reindexing otomatis diaktifkan. Jika fitur ini diaktifkan, sistem secara otomatis membangun ulang indeks untuk tabel indeks yang merujuk ke sumber data setiap kali mendeteksi perubahan data di sumber data.

  • Jika Anda mengaktifkan reindexing otomatis, Anda harus membuat tabel done. Untuk informasi lebih lanjut, lihat bagian Konfigurasikan reindexing otomatis dari topik ini.

Konfigurasikan reindexing otomatis

Deskripsi tabel done: Jika Anda mengaktifkan reindexing otomatis saat mengonfigurasi sumber data, OpenSearch Retrieval Engine Edition secara otomatis membangun ulang indeks berdasarkan perubahan di tabel done.

Contoh: Saat Anda mengonfigurasi sumber data MaxCompute, tentukan mytable sebagai tabel MaxCompute dan ds=20220113 sebagai partisi. Setelah Anda mengonfigurasi reindexing untuk sumber data untuk pertama kalinya, sistem menghasilkan partisi baru setiap hari. Setiap partisi baru berisi data lengkap dari tabel. Setiap kali partisi baru dihasilkan, OpenSearch Retrieval Engine Edition diminta untuk memindai partisi baru dan secara otomatis membangun ulang indeks berdasarkan data di partisi baru. Untuk memenuhi persyaratan ini, Anda dapat menggunakan fitur reindexing otomatis dan tabel done.

Prosedur

1. Aktifkan reindexing otomatis saat Anda membuat sumber data.

2. Konfigurasikan tabel done yang sesuai di MaxCompute. Jika nama tabel data adalah mytable dan nama kunci partisi tabel data adalah ds, nama tabel done adalah mytable_done dan nama kunci partisi tabel done adalah ds. Contoh kode berikut menunjukkan bagaimana kedua tabel ditampilkan di MaxCompute:

odps:sql:xxx> show tables;
InstanceId: xxx  
SQL: .                                                                                              

ALIYUN$****@aliyun.com:mytable          # Tabel yang menyimpan data lengkap sumber data.
ALIYUN$****@aliyun.com:mytable_done     # Tabel done tempat data lengkap tabel sumber disinkronkan secara otomatis.

Gambar berikut menunjukkan tabel done.

Anda dapat menjalankan pernyataan berikut untuk membuat tabel done:

create table mytable_done (attribute string) partitioned by (ds string);

3. Saat partisi ds=20220114 dari tabel mytable dihasilkan, konfigurasikan tabel done untuk memicu OpenSearch Retrieval Engine Edition membangun ulang indeks.

-- Tambahkan partisi.
alter table mytable_done add if not exists partition (ds="20220114");

-- Masukkan semaphore untuk mengaktifkan sinkronisasi data lengkap otomatis.
insert into table mytable_done partition (ds="20220114") select '{"swift_start_timestamp":1642003200}';

Tabel done berisi konten berikut:

odps:sql:xxx> select * from mytable_done where ds=20220114 limit 1;
InstanceId: xxx  
SQL: .                                                                                              
+-----------+----+
| attribute | ds |
+-----------+----+
| {"swift_start_timestamp":1642003200} | 20220114 |
+-----------+----+

Setelah semaphore untuk sinkronisasi data lengkap otomatis dimasukkan ke dalam tabel done, OpenSearch Retrieval Engine Edition memindai semaphore dari tabel done dan secara otomatis memicu tugas reindexing.

Penting

  • Pastikan Anda menentukan setidaknya satu kunci partisi untuk tabel done. Nama kunci partisi tabel done harus sama dengan nama kunci partisi tabel MaxCompute. Jika kunci partisi tabel MaxCompute adalah ds, kunci partisi tabel done harus diatur ke ds.

  • Tabel done hanya berisi satu kolom bertipe STRING. Nama kolom haruslah attribute.

  • Partisi yang Anda tambahkan ke tabel done harus ada di tabel MaxCompute. Sebagai contoh, jika tabel MaxCompute berisi partisi ds=20220114, ds=20220115, dan ds=20220116, Anda harus memilih partisi yang akan ditambahkan ke tabel done dari ketiga partisi tersebut.

  • Saat Anda memasukkan data ke tabel done, nilai kolom attribute harus berupa string JSON, seperti {"swift_start_timestamp":1642003200}. Timestamp menentukan offset awal untuk sinkronisasi inkremental real-time.

Modifikasi Sumber Data MaxCompute

  1. Di halaman Data Source, temukan sumber data yang ingin dimodifikasi dan klik Modify di kolom Actions.

  1. Di panel Modify Data Source, ubah parameter seperti Project, AccessKey, AccessKey Secret, Table, dan Partition Key.

Klik Verify. Setelah konfigurasi yang dimodifikasi lolos verifikasi, klik OK untuk menyimpan modifikasi.

  1. Setelah sumber data dimodifikasi, perbarui konfigurasi sumber data dan picu reindexing untuk memastikan bahwa sumber data dapat digunakan oleh kluster online. Untuk informasi lebih lanjut, lihat Perbarui konfigurasi.

Catatan

Kami merekomendasikan Anda menentukan partisi per jam dalam format yyyymmddhh, seperti 2022011314. Dengan cara ini, beberapa tugas pengindeksan penuh dapat dipicu untuk sumber data setiap hari.

Hapus Sumber Data MaxCompute

  1. Di halaman Data Source, temukan sumber data yang ingin dihapus dan klik Delete di kolom Actions.

  1. Setelah Anda klik Delete, sistem memeriksa apakah sumber data dirujuk oleh tabel indeks.

  • Jika sumber data tidak dirujuk oleh tabel indeks, klik OK untuk menghapus sumber data. Kemudian, perbarui konfigurasi sumber data dan bangun ulang indeks untuk memastikan bahwa sumber data dihapus.

  • Jika sumber data dirujuk oleh tabel indeks, sistem mengembalikan kesalahan berikut setelah Anda klik Delete.

Anda harus menghapus tabel indeks yang merujuk ke sumber data sebelum menghapus sumber data. Untuk informasi lebih lanjut, lihat bagian Hapus tabel indeks dari topik "Skema Indeks".

Catatan Penggunaan

  • Saat Anda memodifikasi sumber data, Anda tidak dapat mengubah nama sumber data.

  • MaxCompute tidak mendukung tabel eksternal. Anda harus membuat tabel internal.

  • Tabel MaxCompute yang Anda tentukan saat menambahkan sumber data MaxCompute harus merupakan tabel terpartisi.

  • Anda dapat menggunakan data lengkap tabel MaxCompute sebagai sumber data untuk membangun indeks di OpenSearch Retrieval Engine Edition dan menggunakan sumber data API untuk mensinkronkan data inkremental secara real-time.