MaxCompute adalah platform komputasi terbuka. Untuk mengimpor data yang dihasilkan oleh MaxCompute ke OpenSearch Industry Algorithm Edition, Anda dapat menghubungkan sumber data MaxCompute ke aplikasi Anda di OpenSearch Industry Algorithm Edition. Setelah pengindeksan ulang dipicu dalam aplikasi, OpenSearch secara otomatis mendapatkan data penuh dari tabel dalam sumber data MaxCompute. Untuk mendapatkan data tambahan dari sumber data MaxCompute, gunakan API atau SDK OpenSearch.
Konfigurasikan pasangan AccessKey untuk akun Alibaba Cloud
Setelah mengonfigurasi sumber data MaxCompute di OpenSearch Industry Algorithm Edition, OpenSearch Industry Algorithm Edition akan mengunduh data dari tabel MaxCompute menggunakan pasangan AccessKey yang Anda masukkan. Oleh karena itu, sebelum mengonfigurasi sumber data MaxCompute, Anda harus mengonfigurasi pasangan AccessKey untuk akun Anda.
Pastikan bahwa proyek MaxCompute dibuat dalam akun Alibaba Cloud yang Anda gunakan untuk masuk ke konsol OpenSearch.
Anda dapat menggunakan pasangan AccessKey dari akun Alibaba Cloud Anda untuk mengakses tabel dalam proyek MaxCompute yang dibuat dalam akun tersebut.
Untuk mengurangi risiko keamanan, Anda dapat menggunakan pasangan AccessKey dari Pengguna Resource Access Management (RAM). Untuk membuat Pengguna RAM dan memberikan izin kepada Pengguna RAM, lakukan langkah-langkah berikut:
Buat Pengguna RAM dalam akun Alibaba Cloud Anda. Untuk informasi lebih lanjut, lihat Buat dan Otorisasi Pengguna RAM.
Masuk ke konsol MaxCompute dan tambahkan anggota untuk Pengguna RAM.
Tetapkan peran kepada anggota yang ditambahkan sesuai dengan kebutuhan Anda.
Jalankan perintah
list users;pada halaman DataStudio untuk melihat akun tempat anggota yang ditambahkan termasuk. Untuk informasi lebih lanjut, lihat DataWorks.
Salin nama akun dan berikan izin kepada akun tersebut. xxx menunjukkan akun yang diperoleh di Langkah 3.
-- 1. Berikan izin LIST pada proyek.
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 peran yang diberikan kepada pengguna.
show grants for xxx;Setelah Anda membuat Pengguna RAM dan memberikan izin kepada Pengguna RAM, Anda dapat mengonfigurasi sumber data MaxCompute di konsol OpenSearch Industry Algorithm Edition.
Konfigurasikan sumber data MaxCompute
Di halaman Konfigurasi Aplikasi, klik Gunakan Sumber Data di bagian Metode Pembuatan Skema Aplikasi.
Di panel Pilih Sumber Data, pilih MaxCompute sebagai sumber data.
Klik Hubungkan ke Database. Di kotak dialog Hubungkan ke Database, konfigurasikan parameter Nama Proyek, ID AccessKey, dan Rahasia AccessKey.
Klik Hubungkan. Lalu, pilih satu atau lebih tabel yang ingin Anda konfigurasikan.
Sistem secara otomatis memetakan bidang yang sesuai. Anda dapat menyesuaikan bidang berdasarkan kebutuhan bisnis Anda. Klik Berikutnya.
Saat mengonfigurasi skema aplikasi, Anda harus membuat tabel utama dan bidang kunci utama unik untuk setiap tabel.
Konfigurasikan skema indeks. Anda dapat memilih analisis yang sesuai berdasarkan kebutuhan pencarian Anda. Untuk informasi lebih lanjut, lihat Skema Indeks. Lalu, klik Berikutnya.
Konfigurasikan Sumber Data. Dalam langkah ini, Anda dapat mengonfigurasi pemetaan bidang, informasi partisi, dan kontrol konkurensi untuk sinkronisasi data.
5.1. Konfigurasikan Pemetaan Bidang: Klik Edit di kolom Tindakan. OpenSearch Industry Algorithm Edition menyediakan beberapa Plugin Sumber Data untuk data MaxCompute. Jika Anda perlu menggunakan plugin, klik tanda plus (+) di kolom Konversi Konten saat mengonfigurasi pemetaan bidang. Dengan cara ini, bidang sumber dikonversi sebelum disinkronkan ke OpenSearch Industry Algorithm Edition. Jika plugin tidak bekerja karena kesalahan seperti kesalahan konfigurasi atau kegagalan koneksi, bidang sumber disinkronkan ke bidang tujuan tanpa konversi.
Konfigurasikan plugin.
Jenis data MaxCompute berikut didukung: BIGINT, DOUBLE, BOOLEAN, DATETIME, STRING, dan DECIMAL.
Sistem secara otomatis mengonversi data jenis DATETIME dalam tabel MaxCompute menjadi milidetik. Anda harus menetapkan tipe data menjadi INT untuk bidang OpenSearch Industry Algorithm Edition yang sesuai.
5.2 Konfigurasikan Informasi Partisi: OpenSearch Industry Algorithm memungkinkan Anda menentukan partisi yang datanya ingin Anda impor berdasarkan karakteristik data MaxCompute. Ekspresi reguler didukung. Anda dapat mengklik Reindex di halaman Detail Instance untuk membuat tugas reindexing terjadwal. Dengan cara ini, data partisi tambahan dapat diimpor setiap hari.
Ekspresi Reguler: Tanda sama dengan (=), koma (,), titik koma (;), dan dua garis vertikal (||) adalah karakter cadangan sistem. Misalnya, ds=%Y%m%d || -1 days menentukan impor otomatis data penuh partisi tertentu hari sebelumnya.
ds menentukan nama bidang partisi. Tidak ada karakter tak terlihat lainnya seperti spasi yang diizinkan di kedua sisi tanda sama dengan (=).
Berikut ini menjelaskan cara mengonfigurasi kondisi partisi MaxCompute:
1: Anda dapat menentukan beberapa aturan filter partisi dengan memisahkannya menggunakan titik koma (;). Misalnya, pt=1;pt=2 cocok dengan semua partisi yang memenuhi aturan filter partisi pt=1 atau pt=2.
2: Anda dapat menetapkan beberapa bidang partisi dalam aturan filter partisi dengan memisahkannya menggunakan koma (,). Misalnya, pt1=1,pt2=2,pt3=3 cocok dengan semua partisi yang memenuhi semua kondisi filter partisi pt1=1, pt2=2, dan pt3=3. Fungsi seperti %Y%m%d || -1 days tidak mendukung beberapa bidang partisi, tetapi mendukung satu bidang partisi.
Contoh: Partisi pt dalam tabel MaxCompute berisi partisi anak ds.
Tentukan beberapa partisi: pt=1;pt=2 menentukan sinkronisasi semua data dalam partisi pt=1 dan pt=2.
Tetapkan beberapa bidang partisi: pt=1,ds=1 menentukan sinkronisasi data dalam partisi anak ds=1 dari partisi pt=1.
pt=1,ds=%Y%m%d || -1 days atau pt=1;pt=%Y%m%d || -1 days tidak didukung.
3: Nilai bidang partisi bisa berupa asterisk (*), yang menunjukkan bahwa nilai bidang partisi bisa berupa nilai apa pun. Dalam hal ini, bidang ini bersifat opsional dalam aturan filter.
4: Nilai bidang partisi dapat berisi ekspresi reguler. Misalnya, pt=[0-9]* cocok dengan semua partisi yang nilainya pt adalah angka.
5: Nilai bidang partisi mendukung pencocokan waktu. Aturan filter memiliki format berikut: pt=Nilai bidang partisi yang berisi waktu diformat || Ekspresi interval waktu. Misalnya, ds=%Y%m%d || -1 days menunjukkan bahwa bidang partisi adalah ds, waktu diformat adalah 20150510, dan data hari sebelumnya diperlukan.
5.1 Parameter waktu diformat dapat berupa parameter format waktu standar.
5.2 Ekspresi interval waktu dapat berformat: +/- n minggu|minggu|hari|hari|jam|jam|menit|menit|detik|detik|mikrodetik|mikrodetik. Tanda plus (+) menunjukkan N minggu, hari, jam, menit, detik, atau milidetik setelah tugas reindexing terjadwal dibuat. Tanda minus (-) menunjukkan N minggu, hari, jam, menit, detik, atau milidetik sebelum tugas reindexing terjadwal dibuat.
5.3 Secara default, sistem mengonversi parameter waktu dalam semua aturan filter menggunakan kondisi +0 hari. Oleh karena itu, nilai bidang yang digunakan untuk penyaringan tidak dapat berisi string berikut sebagai parameter string reguler. Misalnya, untuk tugas yang dibuat pada hari Rabu, pt=%abc cocok dengan partisi yang nilainya pt adalah Wedbc bukan pt=%abc.
Daftar berikut menjelaskan semua parameter yang dapat terkandung dalam ekspresi reguler:
%d: nomor urut hari dalam bulan.
%H: jam dalam sistem 24 jam. Nilai valid: [0, 23].
%m: nomor urut bulan dalam tahun. Nilai valid: [01, 12].
%M: menit. Nilai valid: [00, 59].
%S: detik. Nilai valid: [00, 61].
%y: tahun diwakili oleh dua digit.
%Y: tahun diwakili oleh empat digit.5.3. Konfigurasikan Kontrol Konkurensi untuk Sinkronisasi Data:
Jika Anda memilih Gunakan File DONE, Anda dapat mengunggah file DONE untuk mengontrol waktu bagi OpenSearch untuk menarik data penuh. Ini memastikan integritas data. Sebelum OpenSearch menarik data penuh dari MaxCompute, OpenSearch memeriksa apakah file DONE hari ini ada. Jika file tidak ada, OpenSearch menunggu file DONE muncul. Waktu tunggu default adalah 1 jam.
Anda harus mengunduh Paket Instalasi Klien MaxCompute dari situs resmi MaxCompute. Nama file paket tersebut adalah odps_clt_release_64.tar.gz.
Anda harus memiliki izin CreateResource pada proyek MaxCompute yang diperlukan.
Setelah menginstal klien MaxCompute, jalankan perintah berikut di klien MaxCompute Anda. File DONE dinamai dalam format $prefix_%Y-%m-%d. $prefix menentukan awalan nama file DONE. Secara default, awalan nama file DONE adalah nama tabel. %Y-%m-%d menentukan tanggal tugas reindexing terjadwal. Interval minimum untuk tugas reindexing terjadwal adalah satu hari.
odpscmd -u accessid -p accesskey --project=<prj_name>-e "add file <done file>;"Untuk informasi lebih lanjut tentang cara menggunakan klien MaxCompute, lihat Klien MaxCompute (odpscmd).
Isi file DONE dalam format JSON. File DONE hanya perlu berisi timestamp dalam milidetik data penuh saat ini. Sistem hanya menyimpan data tambahan dalam tiga hari terakhir. Oleh karena itu, waktu yang ditentukan oleh timestamp harus dalam tiga hari terakhir.
Timestamp dalam file DONE menunjukkan waktu data tambahan yang akan ditarik. Jika Anda tidak menentukan timestamp, data tambahan dari waktu mulai tugas reindexing terjadwal ditambahkan. OpenSearch hanya menyimpan data tambahan dalam tiga hari terakhir. Oleh karena itu, waktu tersebut harus dalam tiga hari terakhir.
Sebagai contoh, data penuh dihasilkan pada pukul 09:00 hari ini, MaxCompute memproses data penuh pada pukul 10:00, dan tugas reindexing terjadwal di OpenSearch dimulai pada pukul 10:30. Setelah MaxCompute memproses data penuh, data tambahan setelah pukul 09:00 hari ini ditambahkan. Anda harus menentukan timestamp yang sesuai dengan pukul 09:00 hari ini dalam milidetik di file DONE untuk memastikan integritas data. Jika tidak, data tambahan yang dihasilkan setelah pukul 10:30, yang merupakan waktu mulai default tugas reindexing terjadwal, ditambahkan. Data tambahan dari pukul 09:00 hingga 10:30 hilang. Lanjutkan dengan hati-hati. Jika tidak ada data tambahan yang dihasilkan, Anda tidak perlu menentukan timestamp.
Kode sampel berikut menunjukkan contoh isi file DONE untuk aplikasi tingkat lanjut. Timestamp dalam file DONE digunakan untuk menambahkan data tambahan. Anda dapat menggunakan metode serupa untuk menentukan timestamp dalam file DONE untuk aplikasi standar.
{
"timestamp":"1234567890000"
}Prioritas File DONE dan Waktu Data:
Waktu data sumber data MaxCompute diperlukan dan memiliki prioritas lebih tinggi daripada file DONE.
Jika Anda hanya membuat satu versi untuk aplikasi, Anda hanya perlu menentukan waktu data. Dalam hal ini, Anda tidak dapat menggunakan file DONE saja.
Jika Anda perlu menggunakan tugas reindexing terjadwal, Anda harus menentukan waktu data dan file DONE. Waktu data memiliki prioritas lebih tinggi daripada file DONE untuk versi pertama. File DONE memiliki prioritas lebih tinggi daripada waktu data untuk versi berikutnya.
Catatan penggunaan:
Sumber data MaxCompute hanya mendukung sinkronisasi penuh, tetapi tidak mendukung sinkronisasi tambahan.