Tabel ke KV adalah algoritma yang dirancang untuk mengonversi data tabular menjadi format key-value (KV). Algoritma ini mengekstrak data dari tabel dan menyusunnya dalam format Key:Value, sehingga mempermudah penyimpanan, pengambilan data, serta meningkatkan fleksibilitas dan efisiensi pemrosesan.
Batasan
Tabel keluaran tidak menampilkan nilai null dari tabel masukan. Anda dapat menentukan kolom yang ingin dipertahankan di tabel keluaran, dan kolom tersebut akan tetap dalam format aslinya.
Jika terdapat tabel input key_map, kolom yang dikonversi ke tabel keluaran adalah kolom yang kuncinya ada di kedua tabel key_map dan tabel key-value.
Jika terdapat tabel input key_map dan tipe data yang ditentukan dalam tabel key_map berbeda dengan tipe data kolom tertentu dalam tabel masukan, tabel output key_map menggunakan tipe data yang Anda tentukan.
Kolom yang ingin dikonversi ke format key-value dalam tabel masukan harus bertipe data BIGINT atau DOUBLE.
Konfigurasi Komponen Tabel ke KV
Anda dapat menggunakan salah satu metode berikut untuk mengonfigurasi komponen Tabel ke KV:
Metode 1: Konfigurasi komponen Tabel ke KV secara visual
Anda dapat mengonfigurasi parameter komponen Tabel ke KV pada halaman pipeline Machine Learning Designer dari Platform for AI (PAI). Machine Learning Designer sebelumnya dikenal sebagai Machine Learning Studio. Tabel berikut menjelaskan parameter-parameter tersebut.
Tab | Parameter | Deskripsi |
Fields Setting | Columns to Convert | Nama kolom yang ingin Anda konversi. |
Reserved Columns | Nama kolom yang ingin Anda pertahankan. | |
KV Delimiter | Pemisah yang digunakan antara kunci dan nilai. Secara default, tanda titik dua (:) digunakan. | |
KV Pair Delimiter | Pemisah yang digunakan antara pasangan key-value. Secara default, koma (,) digunakan. | |
Parameters Setting | Convert Columns to IDs | Menentukan apakah akan mengonversi kolom menjadi ID. Nilai valid:
|
Tuning | Cores | Jumlah core. Sistem secara otomatis mengalokasikan core yang digunakan untuk pelatihan berdasarkan jumlah data masukan. |
Memory Size | Ukuran memori setiap core. Sistem secara otomatis mengalokasikan memori berdasarkan jumlah data masukan. Unit: MB. |
Metode 2: Konfigurasi komponen Tabel ke KV menggunakan perintah PAI
Anda dapat mengonfigurasi parameter komponen Tabel ke KV menggunakan perintah PAI. Gunakan komponen SQL Script untuk menjalankan perintah PAI. Untuk informasi lebih lanjut, lihat SQL Script. Tabel berikut menjelaskan parameter-parameter tersebut.
PAI -name TableToKV
-project algo_public
-DinputTableName=maple_tabletokv_basic_input
-DoutputTableName=maple_tabletokv_basic_output
-DselectedColNames=col0,col1,col2
-DappendColNames=rowid;Parameter | Diperlukan | Deskripsi | Nilai default |
inputTableName | Ya | Nama tabel masukan. | Tidak ada nilai default |
inputTablePartitions | Tidak | Partisi yang dipilih dari tabel masukan untuk pelatihan. Anda dapat menentukan parameter ini dalam format Jika partisi multi-level ada, Anda dapat menentukan parameter ini dalam format Pisahkan beberapa partisi dengan koma (,). | Semua partisi dipilih |
selectedColNames | Tidak | Nama kolom yang Anda pilih untuk dikonversi. Tipe data kolom yang Anda pilih harus BIGINT atau DOUBLE. | Semua kolom dipilih |
appendColNames | Tidak | Nama kolom yang ingin Anda pertahankan. Kolom yang ditentukan dipertahankan dalam format aslinya. | Tidak ada nilai default |
outputTableName | Ya | Nama tabel keluaran. | Tidak ada nilai default |
kvDelimiter | Tidak | Pemisah yang digunakan antara kunci dan nilai. | Tanda titik dua (:) |
itemDelimiter | Tidak | Pemisah yang digunakan antara pasangan key-value. | Koma (,) |
convertColToIndexId | Tidak | Menentukan apakah akan mengonversi kolom menjadi ID. Nilai valid:
| 0 |
inputKeyMapTableName | Tidak | Nama tabel indeks masukan. Parameter ini berlaku hanya ketika parameter | null |
outputKeyMapTableName | Ditentukan berdasarkan convertColToIndexId | Nama tabel indeks keluaran. Parameter ini diperlukan hanya ketika parameter convertColToIndexId disetel ke 1. | Tidak ada nilai default |
lifecycle | Tidak | Lifecycle tabel keluaran. Nilai parameter ini harus bilangan bulat positif. | Tidak ada nilai default |
coreNum | Tidak | Jumlah core. Nilai parameter ini harus bilangan bulat positif. Nilai valid: [1,9999]. Parameter ini harus digunakan bersama dengan parameter memSizePerCore. | Ditentukan oleh sistem |
memSizePerCore | Tidak | Ukuran memori setiap core. Unit: MB. Nilai parameter ini harus bilangan bulat positif. Nilai valid: [1024,64 × 1024]. | Ditentukan oleh sistem |
Contoh
Data Masukan
drop table if exists test; create table test as select * from ( select 0 as rowid, 1 as col0, 1.1 as col1, 2 as col2 union all select 1 as rowid, 0 as col0, 1.2 as col1, 3 as col2 union all select 2 as rowid, 1 as col0, 2.3 as col1, 4 as col2 union all select 3 as rowid, 1 as col0, 0.0 as col1, 5 as col2 ) tmp;Perintah PAI
PAI -name TableToKV -project algo_public -DinputTableName=test -DoutputTableName=test_output -DselectedColNames=col0,col1,col2 -DconvertColToIndexId=1 -DoutputKeyMapTableName=test_key_map -DappendColNames=rowid;Tabel Keluaran
Tabel keluaran test_output
rowid
kv
0
0:1,1:1.1,2:2
1
0:0,1:1.2,2:3
2
0:1,1:2.3,2:4
3
0:1,1:0,2:5
Tabel keluaran test_key_map
col_name
col_index
col_datatype
col0
0
bigint
col1
1
double
col2
2
bigint