Topik ini menjelaskan cara mengonfigurasi sumber data MaxCompute.
Prasyarat
-
Anda memiliki pemahaman dasar tentang MaxCompute (sebelumnya dikenal sebagai ODPS). Jika Anda baru mengenal MaxCompute, Anda dapat mempelajari lebih lanjut di sini.
-
Anda memiliki izin tabel yang diperlukan. Akun yang digunakan untuk mengakses tabel MaxCompute harus memiliki izin
describe,select, dandownloaduntuk tabel tersebut, serta izin label untuk bidang-bidangnya.
Gunakan pernyataan berikut untuk memberikan izin:
-- Tambahkan pengguna.
add user ****@aliyun.com;
-- Berikan izin tabel yang diperlukan kepada pengguna.
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
-- MaxCompute memerlukan izin tingkat bidang. Kegagalan memberikan izin ini untuk semua bidang, termasuk bidang dengan hak istimewa tinggi, akan menyebabkan pembuatan indeks gagal.
-- Berikan izin untuk semua tabel dalam Project.
SET LABEL 3 to USER ****@aliyun.com
-- Berikan izin untuk tabel tertentu.
GRANT LABEL 3 ON TABLE table_xxx(col1, col2) TO ****@aliyun.com
-
OpenSearch Vector Search Edition mendukung tipe bidang berikut untuk tabel MaxCompute: STRING, BOOLEAN, DOUBLE, BIGINT, dan DATETIME.
Untuk informasi detail tentang pernyataan CREATE TABLE dan konfigurasi parameter, lihat Pernyataan CREATE TABLE untuk sumber data MaxCompute.
Konfigurasikan sumber data MaxCompute
1. Masuk ke konsol OpenSearch. Di pojok kiri atas, beralihlah ke OpenSearch Vector Search Edition. Pada halaman Manajemen Instans, temukan instans Anda dan klik Manage di kolom Actions.
-
2. Di panel navigasi sebelah kiri, pilih Configuration Center > Data Source Configuration. Klik Add Data Source, pilih MaxCompute, lalu konfigurasikan parameter berikut: Data Source Name, Project, AccessKey ID, AccessKey Secret, Table, Partition Key, dan Automatic Index Rebuilding.
3. Setelah mengonfigurasi parameter, klik Validate. Setelah validasi berhasil, tombol OK menjadi dapat diklik.
4. Setelah menambahkan sumber data, Anda harus mengonfigurasi skema indeks dan menambahkan tabel indeks. Untuk informasi lebih lanjut, lihat Tambahkan tabel indeks.
5. Setelah tabel indeks dikonfigurasi, Anda harus menerapkan pembaruan konfigurasi dan membangun ulang indeks agar tersedia di kluster produksi. Untuk informasi lebih lanjut, lihat Perbarui konfigurasi.
Catatan:
-
Data Source Name: Nama sumber data. Nama harus mengikuti format
instance_name_custom_name. -
Project, AccessKey ID, AccessKey Secret, Table, dan Partition Key: Parameter yang diperlukan untuk mengakses sumber data MaxCompute.
-
Automatic index rebuilding: Jika diaktifkan, sistem secara otomatis membangun ulang indeks untuk setiap tabel indeks yang mereferensikan sumber data tersebut ketika sumber data berubah.
-
Jika Anda mengaktifkan automatic index rebuilding, Anda harus membuat
done table. Untuk informasi lebih lanjut, lihat Automatic index rebuilding.
Automatic index rebuilding
Tujuan done table: Saat Anda mengaktifkan automatic index rebuilding untuk sumber data, instans OpenSearch Vector Search Edition Anda memantau done table dan memicu pembangunan ulang indeks setiap kali done table diperbarui.
Contoh: Misalkan Anda memiliki tabel data MaxCompute bernama mytable yang dipartisi berdasarkan ds=20220113. Setelah pembuatan indeks awal, partisi baru dengan muatan penuh data dihasilkan setiap hari. Anda ingin instans OpenSearch Vector Search Edition Anda mendeteksi partisi baru tersebut dan secara otomatis memicu pembangunan ulang indeks untuk menarik data baru. Proses ini memerlukan penggunaan automatic index rebuilding dengan done table.
Prosedur:
1. Saat menambahkan sumber data, aktifkan Automatic Index Rebuilding.
2. Buat done table di MaxCompute. Jika tabel data bernama mytable dan kunci partisinya adalah ds, maka done table harus diberi nama mytable_done dan juga menggunakan ds sebagai kunci partisinya. Kedua tabel tersebut muncul di MaxCompute sebagai berikut:
odps:sql:xxx> show tables;
InstanceId: xxx
SQL: .
ALIYUN$****@aliyun.com:mytable # Tabel data untuk muatan penuh
ALIYUN$****@aliyun.com:mytable_done # Done table untuk memicu muatan penuh otomatis
Pernyataan untuk membuat done table:
create table mytable_done (attribute string) partitioned by (ds string);
3. Setelah data untuk partisi baru ds=20220114 dihasilkan di tabel mytable, perbarui done table untuk memicu pembangunan ulang indeks di instans OpenSearch Vector Search Edition Anda.
-- Tambahkan partisi.
alter table mytable_done add if not exists partition (ds="20220114");
-- Masukkan data sinyal untuk memicu muatan penuh otomatis.
insert into table mytable_done partition (ds="20220114") select '{"swift_start_timestamp":1642003200}';
Konten akhir dari done table adalah sebagai berikut:
odps:sql:xxx> select * from mytable_done where ds=20220114 limit 1;
InstanceId: xxx
SQL: .
+-----------+----+
| attribute | ds |
+-----------+----+
| {"swift_start_timestamp":1642003200} | 20220114 |
+-----------+----+
Saat data sinyal dimasukkan ke dalam done table, instans OpenSearch Vector Search Edition mendeteksi sinyal tersebut dan secara otomatis memicu pembangunan ulang indeks.
-
done tableharus memiliki setidaknya satu kunci partisi, dan kunci partisinya harus memiliki nama yang sama dengan kunci partisi tabel data. Misalnya, jika kunci partisi tabel data adalahds, maka kunci partisidone tablejuga harusds. -
done tableharus berisi satu bidang STRING bernamaattribute. -
Partisi yang Anda tambahkan ke
done tableharus sudah ada di tabel data. Misalnya, jika tabel data berisi partisids="20220114",ds="20220115", dands="20220116", partisi baru yang ditambahkan kedone tableharus merupakan salah satu dari partisi yang sudah ada tersebut. -
Saat Anda memasukkan data ke
done table, nilai bidangattributeharus berupa string dalam format JSON, seperti{"swift_start_timestamp":1642003200}. Timestamp tersebut menentukan titik awal untuk ingestion data inkremental.
Edit sumber data MaxCompute
-
Pada halaman Data Source Configuration, temukan sumber data yang ingin Anda edit dan klik Modify di kolom Actions.
-
Pada halaman Edit Data Source, ubah parameter seperti Project, AccessKey ID, AccessKey Secret, Table, dan Partition Key.
Setelah mengubah parameter, klik Validate. Setelah validasi berhasil, klik OK untuk menyimpan perubahan Anda.
-
Setelah mengedit sumber data, Anda harus menerapkan pembaruan konfigurasi dan membangun ulang indeks agar perubahan berlaku di kluster produksi. Untuk informasi lebih lanjut, lihat Perbarui konfigurasi.
Atur granularitas partisi ke tingkat jam, misalnya yyyyMMddHH (seperti 2022011314), untuk memungkinkan beberapa muatan penuh dalam sehari.
Hapus sumber data MaxCompute
-
1. Pada halaman Data Source Configuration, temukan sumber data yang ingin Anda hapus dan klik Delete di kolom Actions.
-
2. Setelah Anda mengklik Delete, sistem memeriksa apakah sumber data tersebut direferensikan oleh tabel indeks.
-
Jika sumber data tidak direferensikan oleh tabel indeks apa pun, klik OK untuk menghapusnya.
-
Jika sumber data direferensikan oleh tabel indeks, sistem akan melaporkan error.
Sistem menampilkan pesan: "Sumber data direferensikan oleh tabel indeks. Hapus tabel indeks atau hapus asosiasinya, lalu hapus sumber data."
Anda harus terlebih dahulu menghapus semua tabel indeks yang mereferensikan sumber data tersebut sebelum menghapusnya. Untuk informasi lebih lanjut, lihat Hapus tabel indeks.
Catatan penggunaan
-
Anda tidak dapat mengubah nama sumber data setelah dibuat.
-
MaxCompute tidak mendukung tabel eksternal. Anda harus menggunakan tabel internal.
-
Tabel yang Anda konfigurasikan sebagai sumber data MaxCompute harus berupa tabel partisi.
-
Anda dapat menggunakan tabel yang dihasilkan di MaxCompute untuk operasi muatan penuh dan menggunakan sumber data API untuk mendorong data real-time.