Mulai dari Hologres V4.0, Anda dapat menggunakan Object Table untuk mengakses data tidak terstruktur dan metadata-nya yang disimpan di data lake OSS. Topik ini menjelaskan sintaks dan contoh penggunaan Object Table.
Pendahuluan
Di era artificial intelligence, data tidak terstruktur telah menjadi bahan bakar utama yang mendorong inovasi teknologi dan evolusi kecerdasan. Berbeda dengan data terstruktur dalam database tradisional, data tidak terstruktur—seperti teks, gambar, audio, video, dan konten media sosial—menangkap pola perilaku yang lebih autentik serta semantik kompleks dalam bentuk mentah yang beragam. Memproses dan menganalisis data tidak terstruktur membantu perusahaan membangun keunggulan kompetitif yang lebih kuat serta membuka nilai lebih besar dari datanya. Object Table menyediakan kemampuan berikut:
-
Membaca data tidak terstruktur (PDF, IMAGE, PPT, dll.) dari OSS melalui antarmuka tabel.
-
Mengombinasikan Pembaruan bertahap Dynamic Table dan Embedding Function untuk memproses data tidak terstruktur. Pendekatan ini menyimpan embedding langsung di Hologres tanpa memanggil algoritma embedding eksternal dan mendeteksi perubahan file secara bertahap guna mengurangi komputasi berlebih serta meningkatkan efisiensi komputasi.
-
Menggunakan AI Function (seperti
ai_gen) untuk melakukan inferensi dan klasifikasi pada data tidak terstruktur. Anda juga dapat menggabungkan vector search dan full-text index untuk pengambilan dua jalur, sehingga memungkinkan analisis dan pencarian komprehensif terhadap data tidak terstruktur.
Dengan menggabungkan Hologres Object Table, AI Function, dan kemampuan lainnya, Anda dapat memproses, mengambil, dan menganalisis data tidak terstruktur yang disimpan di OSS tanpa memindahkan data keluar dari database atau memanggil layanan eksternal. Hal ini meningkatkan keamanan data sekaligus memperluas cakupan analitik bisnis Anda.
Batasan
-
Fitur ini hanya didukung di Hologres V4.0 dan versi setelahnya.
CatatanJika instans Anda menjalankan versi sebelum V4.0, lihat Upgrade instances.
-
Object Table hanya mendukung pembacaan file PDF, PPT, dan gambar. Fitur ini tidak mendukung file video atau audio.
Sintaks
Buat Object Table
-
Object Table dirancang khusus untuk membaca data tidak terstruktur. Anda tidak perlu mendefinisikan kolom saat membuatnya karena Object Table menggunakan kolom tetap.
-
Setelah membuat Object Table, Anda harus melakukan refresh sekali untuk memuat data.
CREATE OBJECT TABLE [IF NOT EXISTS] [schema_name.]<table_name>
WITH (
-- Properti khusus Object Table
path = '<oss_path>', -- Wajib
oss_endpoint = '<oss_endpoint>', -- Wajib
role_arn = '<role_arn>', -- Wajib
-- Parameter umum
[orientation = '[column | row | row,column]',]
[table_group = '[tableGroupName]',]
[distribution_key = 'columnName[,...]]',]
[clustering_key = '[columnName{:asc}] [,...]]',]
[storage_mode = '[hot | cold]',]
[event_time_column = '[columnName [,...]]',]
[bitmap_columns = '[columnName [,...]]',]
[dictionary_encoding_columns = '[columnName [,...]]',]
[time_to_live_in_seconds = '<non_negative_literal>']
);
-
Deskripsi parameter wajib
Nama Parameter
Wajib
Deskripsi
path
Ya
Jalur direktori OSS yang berisi file. Object Table mengekstrak metadata dari semua file dalam direktori ini. Contoh:
oss://bucket/dir.oss_endpoint
Ya
Titik akhir OSS. Hanya titik akhir jaringan klasik yang didukung. Untuk detail titik akhir berdasarkan wilayah, lihat Regions and endpoints. Contoh:
oss-ap-southeast-1-internal.aliyuncs.com.role_arn
Ya
ARN dari peran RAM Alibaba Cloud. Contoh:
acs:ram::role-id:role/role-name. Untuk mendapatkan informasi ini, login ke Resource Access Management (RAM) console, buka halaman , lalu klik nama peran yang dituju. -
Deskripsi parameter
Semua parameter di bawah ini bersifat opsional.
Nama parameter
Deskripsi
Nilai default
orientation
Format penyimpanan untuk Object Table. Mendukung penyimpanan baris, penyimpanan kolom, dan penyimpanan hibrida baris-kolom. Untuk detailnya, lihat Table storage formats: Column store, row store, and hybrid row-column store.
column
table_group
Table Group untuk Object Table.
default Table Group
distribution_key
object_uri
clustering_key
object_uri
storage_mode
Mode penyimpanan. Mendukung hot (penyimpanan panas) dan cold (penyimpanan dingin). Untuk detailnya, lihat Data tiering storage.
hot
event_time_column
Kunci segmen. Untuk detailnya, lihat Event Time Column (Segment Key).
last_modified_at
bitmap_columns
object_uri:auto,etag:auto
dictionary_encoding_columns
Dictionary encoding. Untuk detailnya, lihat Dictionary Encoding.
object_uri:auto,etag:auto
time_to_live_in_seconds
siklus hidup data untuk tabel.
3153600000
Lihat Object Table
Kueri Object Table
Setelah membuat Object Table, kueri seperti tabel standar apa pun.
SELECT * FROM <OBJECT_TABLE_NAME>;
Object Table menggunakan kolom tetap. Tabel berikut mencantumkan kolom tersebut beserta deskripsinya:
|
Nama kolom |
Tipe |
Deskripsi |
|
object_uri |
TEXT |
Jalur file OSS spesifik. |
|
etag |
TEXT |
ETag dibuat saat setiap objek dihasilkan dan bersifat unik. ETag mengidentifikasi konten file tertentu. |
|
file |
FILE |
FILE adalah tipe yang baru didukung dengan format mirip JSON yang menyimpan metadata terperinci. Gunakan fungsi JSON untuk mengurai-nya. Isinya mencakup:
|
|
metadata |
JSON |
Metadata kustom. |
Lihat skema tabel Object Table
-
Gunakan
hg_dump_scriptSELECT hg_dump_script('[<schema_name>.]<object_table_name>'); -
Gunakan tabel sistem
hologres.hg_table_propertiesSELECT * FROM hologres.hg_table_properties WHERE table_name = '<object_table_name>';
Refresh Object Table
Setelah membuat Object Table, Anda harus melakukan refresh sekali untuk memuat data. Saat ini, hanya refresh manual yang didukung. Gunakan sintaks berikut:
REFRESH OBJECT TABLE [<schema_name>.]<table_name>;
Ubah Object Table
Anda hanya dapat mengganti nama tabel atau mengubah skemanya. Gunakan sintaks berikut:
-- Ganti nama tabel
ALTER OBJECT TABLE [IF EXISTS] <table_name> RENAME TO <new_name>;
-- Ubah skema
ALTER OBJECT TABLE [IF EXISTS] [<schema_name>.]<table_name> SET SCHEMA <new_schema>;
Hapus Object Table
-- Jika recycle bin diaktifkan, Object Table yang dihapus akan dipindahkan ke recycle bin.
DROP OBJECT TABLE [IF EXISTS] <table_name> [FORCE];
Jika recycle bin database diaktifkan, Object Table yang dihapus akan dipindahkan ke Keranjang daur ulang. Anda dapat memulihkannya menggunakan perintah restore. Tabel yang dipulihkan tetap berupa Object Table. Untuk detailnya, lihat Table recycle bin.
Praktik terbaik
Gabungkan Object Table dengan Dynamic Table, AI Function, vector search, dan full-text index untuk memproses, mengambil, dan menganalisis data tidak terstruktur secara otomatis. Untuk detailnya, lihat: