Prasyarat
-
Anda telah memahami MaxCompute, yang sebelumnya dikenal sebagai ODPS. Untuk informasi lebih lanjut, klik di sini.
-
Akun OpenSearch Anda harus memiliki izin yang diperlukan pada tabel MaxCompute, termasuk izin
describe,select,download, serta izin label pada bidang-bidang tertentu.
Gunakan pernyataan berikut untuk memberikan izin:
-- Tambahkan akun.
add user ****@aliyun.com;
-- Berikan izin tabel yang diperlukan kepada akun tersebut.
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 pemeriksaan izin tingkat bidang diaktifkan di MaxCompute, Anda mungkin tidak dapat mengakses bidang dengan izin tingkat tinggi saat menarik data, sehingga mencegah pembuatan indeks. Dalam kasus ini, Anda harus memberikan izin tingkat bidang yang diperlukan kepada akun tersebut.
-- 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;
-
OpenSearch Vector Search Edition mendukung tipe bidang tabel MaxCompute berikut: STRING, BOOLEAN, DOUBLE, BIGINT, dan DATETIME.
Untuk informasi detail mengenai pernyataan pembuatan tabel dan konfigurasi parameter, lihat Pernyataan pembuatan tabel untuk sumber data MaxCompute.
Konfigurasi sumber data MaxCompute
-
Masuk ke Konsol OpenSearch. Di pojok kiri atas, alihkan ke OpenSearch Vector Search Edition. Pada halaman Manajemen Instans, temukan instans Anda dan klik Manage di kolom Actions.
-
Di panel navigasi sebelah kiri, pilih Configuration Center > Data Source Configuration. Klik Add Data Source. Pilih MaxCompute sebagai tipe sumber data dan masukkan informasi seperti Data Source Name, Project, AccessKey ID, AccessKey Secret, Table, Partition Key, dan Automatic Reindexing.
-
Setelah mengonfigurasi parameter, klik Check. Setelah konfigurasi divalidasi, tombol OK akan diaktifkan.
-
Setelah menambahkan sumber data, Anda harus mengonfigurasi skema indeks dan menambahkan tabel indeks. Untuk informasi lebih lanjut, lihat Tambahkan tabel indeks.
-
Setelah tabel indeks dikonfigurasi, Anda harus memperbarui konfigurasi dan melakukan reindexing agar perubahan diterapkan ke kluster online Anda. Untuk informasi lebih lanjut, lihat Pembaruan konfigurasi.
Catatan:
-
Data Source Name: Nama sumber data. Nama harus mengikuti format:
InstanceName_CustomName. -
Project, AccessKey ID, AccessKey Secret, Table, dan Partition Key: Parameter yang diperlukan untuk mengakses sumber data MaxCompute.
-
Automatic Reindexing: Menentukan apakah pengindeksan ulang otomatis diaktifkan. Jika diaktifkan, sistem secara otomatis memicu reindexing untuk tabel indeks yang mereferensikan sumber data ini setiap kali terdeteksi perubahan pada sumber data.
-
Jika Anda mengaktifkan automatic reindexing, Anda harus membuat tabel done. Untuk informasi lebih lanjut, lihat bagian Automatic reindexing di bawah ini.
Automatic reindexing
Tujuan tabel done: Saat Anda mengaktifkan pengindeksan ulang otomatis untuk sumber data, OpenSearch Vector Search Edition akan memantau perubahan pada tabel done untuk memicu pengindeksan ulang secara otomatis.
Contoh: Tabel MaxCompute Anda bernama mytable dan dipartisi berdasarkan ds=20220113. Setelah reindexing awal, partisi baru yang berisi data lengkap dihasilkan setiap hari. Anda ingin OpenSearch Vector Search Edition memindai partisi baru tersebut dan secara otomatis memicu reindexing untuk menarik data terbaru. Untuk mencapai hal ini, Anda harus menggunakan fitur automatic reindexing bersama dengan done table.
Prosedur:
-
Saat menambahkan sumber data, aktifkan pengindeksan ulang otomatis.
-
Di MaxCompute, buat tabel done. Jika tabel data Anda bernama
mytabledan kunci partisinya adalahds, maka tabel done harus diberi namamytable_donedengan kunci partisi yang juga bernamads. Kedua tabel tersebut akan muncul di MaxCompute sebagai berikut:odps:sql:xxx> show tables; InstanceId: xxx SQL: . ALIYUN$****@aliyun.com:mytable # Tabel yang berisi data lengkap. ALIYUN$****@aliyun.com:mytable_done # Tabel done yang mengontrol ingesti data lengkap otomatis.Berikut ini penjelasan struktur tabel done:
Data contoh untuk tabel done: Kolom attribute memiliki nilai
{"swift_start_timestamp":1603096083}, dan partisi ds memiliki nilai20180724.Gunakan pernyataan berikut untuk membuat tabel done:
create table mytable_done (attribute string) partitioned by (ds string); -
Setelah pembuatan data untuk partisi
ds=20220114pada tabelmytableselesai, Anda harus memperbarui tabel done untuk memicu reindexing di OpenSearch Vector Search Edition.-- Tambahkan partisi. alter table mytable_done add if not exists partition (ds="20220114"); -- Masukkan data sinyal untuk memicu ingesti data lengkap otomatis. insert into table mytable_done partition (ds="20220114") select '{"swift_start_timestamp":1642003200}';Tabel done sekarang 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 | +-----------+----+Segera setelah data sinyal dimasukkan ke dalam tabel done, OpenSearch Vector Search Edition mendeteksi sinyal tersebut dan secara otomatis memicu reindexing.
Penting-
Tabel done harus memiliki setidaknya satu kunci partisi, dan nama kunci tersebut harus identik dengan kunci partisi tabel data. Misalnya, jika kunci partisi tabel data adalah
ds, maka kunci partisi tabel done juga harusds. -
Tabel done hanya boleh memiliki satu bidang bertipe STRING, dan nama bidang tersebut harus
attribute. -
Partisi yang Anda tambahkan ke tabel done harus sudah ada di tabel data. Misalnya, jika tabel data memiliki partisi
ds="20220114",ds="20220115", dands="20220116", maka partisi baru yang ditambahkan ke tabel done harus merupakan salah satu dari partisi tersebut. -
Saat memasukkan data ke tabel done, nilai untuk bidang
attributeharus berupa string JSON, seperti{"swift_start_timestamp":1642003200}. Timestamp ini menunjukkan offset awal untuk sinkronisasi inkremental real-time.
-
Ubah sumber data MaxCompute
-
Pada halaman Data Source Configuration, temukan sumber data yang akan diubah, lalu klik Modify di kolom Actions.
-
Pada halaman Edit Data Source, Anda dapat mengubah informasi seperti Project, AccessKey ID, AccessKey Secret, Table, dan Partition Key.
Setelah melakukan perubahan, klik Check. Jika konfigurasi telah divalidasi, klik OK untuk menyimpan perubahan.
-
Setelah mengubah sumber data, Anda harus memperbarui konfigurasi dan melakukan reindexing agar perubahan diterapkan ke kluster online Anda. Untuk informasi lebih lanjut, lihat Pembaruan konfigurasi.
CatatanAtur granularitas partisi ke tingkat jam, misalnya
yyyymmddhh(seperti2022011314). Hal ini memungkinkan Anda menjalankan beberapa pekerjaan reindexing lengkap dalam satu hari.
Hapus sumber data MaxCompute
-
Buka Data Source Configuration dan klik Delete.
-
Saat Anda mengklik Delete, sistem akan memeriksa apakah ada tabel indeks yang mereferensikan sumber data tersebut.
-
Jika sumber data tidak direferensikan oleh tabel indeks apa pun, klik OK untuk menghapus sumber data. Anda kemudian harus memperbarui konfigurasi dan melakukan reindexing agar penghapusan tersebut berlaku.
-
Jika tabel indeks mereferensikan sumber data tersebut, pesan kesalahan Data source is referenced by an index table akan ditampilkan (kode kesalahan:
DataSourceInUse). Anda harus menghapus tabel indeks atau menghapus asosiasinya terlebih dahulu sebelum dapat menghapus sumber data.
Sebelum dapat menghapus sumber data, Anda harus terlebih dahulu menghapus tabel indeks yang mereferensikannya. Lihat Hapus tabel indeks.
Catatan penggunaan
-
Anda tidak dapat mengubah Data Source Name saat mengedit sumber data.
-
MaxCompute tidak mendukung tabel eksternal. Anda harus membuat tabel internal.
-
Tabel yang ditentukan untuk sumber data MaxCompute harus berupa tabel partisi.
-
Gunakan tabel MaxCompute untuk ingesti data lengkap. Untuk pembaruan inkremental real-time, gunakan sumber data berbasis API.