All Products
Search
Document Center

Platform For AI:Table to KV

Last Updated:Apr 01, 2026

Komponen Table to KV mengonversi data tabular menjadi string dalam format key-value (KV). Setiap kolom yang dipilih diubah menjadi pasangan kunci-nilai pada output.

Hanya kolom dengan tipe data BIGINT atau DOUBLE yang dapat dikonversi. Kolom lain dapat dilewatkan tanpa perubahan dalam format aslinya menggunakan appendColNames. Nilai null tidak disertakan dalam output. Anda dapat menentukan kolom yang ingin dipertahankan agar tetap dalam format aslinya.

Konfigurasi komponen Table to KV

Terdapat dua metode konfigurasi yang didukung.

Metode 1: Konfigurasi di Machine Learning Designer

Konfigurasikan parameter komponen pada halaman pipeline di Machine Learning Designer (sebelumnya Machine Learning Studio) dari Platform for AI (PAI).

TabParameterDeskripsi
Fields SettingColumns to ConvertNama kolom yang akan dikonversi. Kolom harus bertipe BIGINT atau DOUBLE.
Reserved ColumnsNama kolom yang dilewatkan tanpa perubahan dalam format aslinya.
KV DelimiterPembatas antara kunci dan nilai. Default: titik dua (:).
KV Pair DelimiterPembatas antara pasangan kunci-nilai. Default: koma (,).
Parameters SettingConvert Columns to IDsApakah nama kolom diganti dengan ID integer di output. Nilai yang valid: Yes, No.
TuningCoresJumlah core. Sistem mengalokasikan core secara otomatis berdasarkan ukuran data masukan.
Memory SizeMemori per core dalam MB. Sistem mengalokasikan memori secara otomatis berdasarkan ukuran data masukan.

Metode 2: Konfigurasi menggunakan perintah PAI

Jalankan perintah PAI melalui komponen SQL Script. Untuk informasi selengkapnya, lihat SQL Script.

PAI -name TableToKV
    -project algo_public
    -DinputTableName=maple_tabletokv_basic_input
    -DoutputTableName=maple_tabletokv_basic_output
    -DselectedColNames=col0,col1,col2
    -DappendColNames=rowid;
ParameterWajibDeskripsiDefault
inputTableNameYaNama tabel input.Tidak ada
outputTableNameYaNama tabel output.Tidak ada
selectedColNamesTidakKolom yang akan dikonversi. Harus bertipe BIGINT atau DOUBLE.Semua kolom
appendColNamesTidakKolom yang dilewatkan tanpa perubahan dalam format aslinya.Tidak ada
inputTablePartitionsTidakPartisi yang dibaca dari tabel input. Gunakan format Partition_name=value. Untuk partisi multi-level, gunakan name1=value1/name2=value2;. Pisahkan beberapa partisi dengan koma (,).Semua partisi
kvDelimiterTidakPembatas antara kunci dan nilai.Titik dua (:)
itemDelimiterTidakPembatas antara pasangan kunci-nilai.Koma (,)
convertColToIndexIdTidakApakah nama kolom diganti dengan ID integer. Atur ke 1 untuk mengonversi; 0 untuk mempertahankan nama kolom.0
inputKeyMapTableNameTidakNama tabel indeks yang sudah ada untuk digunakan dalam pemetaan ID kolom. Hanya digunakan saat convertColToIndexId=1. Jika tidak ditentukan, sistem menghasilkan set ID baru.null
outputKeyMapTableNameYa (saat convertColToIndexId=1)Nama tabel indeks output yang menyimpan pemetaan kolom ke ID.Tidak ada
lifecycleTidakSiklus hidup tabel output dalam hari. Harus berupa bilangan bulat positif.Tidak ada
coreNumTidakJumlah core. Nilai yang valid: 1–9999. Harus ditentukan bersama dengan memSizePerCore.Ditentukan sistem
memSizePerCoreTidakMemori per core dalam MB. Nilai yang valid: 1024–65536. Harus ditentukan bersama dengan coreNum.Ditentukan sistem

Batasan

  • Jika tabel input key_map disediakan, hanya kolom yang namanya muncul baik di tabel key_map maupun tabel input yang akan dikonversi.

  • Jika tipe data yang ditentukan dalam tabel key_map berbeda dari tipe data aktual kolom di tabel input, tabel output key_map akan menggunakan tipe data dari tabel key_map.

Contoh

Tabel input

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;

col0, col1, dan col2 dikonversi ke format KV. rowid dilewatkan tanpa perubahan. Nama kolom diganti dengan ID integer karena convertColToIndexId=1.

Tabel output: `test_output`

rowidkv
00:1,1:1.1,2:2
10:0,1:1.2,2:3
20:1,1:2.3,2:4
30:1,1:0,2:5

Tabel output: `test_key_map`

col_namecol_indexcol_datatype
col00bigint
col11double
col22bigint