All Products
Search
Document Center

Platform For AI:Mengonversi tripel ke KV

Last Updated:Apr 01, 2026

Saat membangun model rekomendasi atau peringkat, data pelatihan umumnya disimpan dalam bentuk tabel tripel (baris, kolom, nilai)—misalnya, ID pengguna, ID item, dan jumlah klik. Komponen Convert Row, Column, and Value to KV Pair di Machine Learning Designer mengubah format ini menjadi tabel kunci-nilai jarang (baris, [col_id:nilai]) beserta tabel indeks yang sesuai untuk memetakan nama kolom ke ID bilangan bulat. Ini merupakan langkah prapemrosesan standar guna menyediakan data fitur jarang kepada model yang memerlukan input berupa vektor berindeks.

Cara kerja

Komponen ini menerima tabel tripel yang kolom-kolomnya merepresentasikan pengenal baris, nama kolom, dan nilai numerik, lalu melakukan hal berikut:

  1. Menetapkan ID bilangan bulat unik (col_id) untuk setiap nama kolom yang berbeda dan mencatat pemetaannya dalam tabel indeks.

  2. Mengelompokkan baris berdasarkan pengenal baris dan menggabungkan seluruh pasangan col_id:nilai menjadi satu string kunci-nilai.

Persyaratan tipe data input

Tabel tripel input harus mengikuti salah satu dari dua pola tipe kolom berikut:

PolaTipe kolomTipe kolom nilai
XXDBaris: apa saja, Kolom: apa sajaDOUBLE
XXLBaris: apa saja, Kolom: apa sajaBIGINT

Pada tabel kunci-nilai output, kolom baris dan nilai mempertahankan tipe data aslinya. Kolom col_id pada tabel indeks selalu bertipe BIGINT.

Contoh

Tabel tripel input:

idwordcount
01a10
01b20
01c30

Komponen ini menghasilkan dua tabel output:

Tabel kunci-nilai — nilai kolom setiap baris digabungkan menjadi satu string col_id:value:

idkey_value
011:10;2:20;3:30

Tabel indeks — memetakan setiap nama kolom asli ke ID bilangan bulat yang ditetapkan:

keykey_id
a1
b2
c3
Catatan

Pembatas antara kunci dan nilainya, serta pembatas antar pasangan kunci-nilai, keduanya dapat dikustomisasi.

Konfigurasi komponen

Opsi 1: Konfigurasi pada kanvas pipeline

Pada kanvas pipeline Machine Learning Designer, klik komponen untuk membuka panel pengaturannya. Tabel berikut menjelaskan parameter-parameter tersebut.

Fields Setting tab

ParameterWajibDeskripsiBawaan
Columns reserved during KV conversionYaKolom yang tetap tidak berubah setelah konversi (pengenal baris).
Output keysYaKolom yang nilainya menjadi kunci dalam tabel kunci-nilai.
Output valuesYaKolom yang nilainya menjadi nilai dalam tabel kunci-nilai.
Key column in input index tableTidakKolom kunci dalam tabel indeks yang sudah ada. Wajib jika Anda menyediakan tabel indeks.
Index ID column of key in input index tableTidakKolom ID indeks dalam tabel indeks yang sudah ada. Wajib jika Anda menyediakan tabel indeks.
KV delimiterTidakPembatas antara kunci dan nilainya.: (titik dua)
KV pair delimiterTidakPembatas antar pasangan kunci-nilai., (koma)

Tuning tab

ParameterWajibDeskripsiBawaan
Total number of instancesTidakJumlah instans komputasi. Harus berupa bilangan bulat positif.Dihitung otomatis dari data input
Memory size (MB)TidakTotal memori. Harus berupa bilangan bulat positif.Dihitung otomatis dari data input

Opsi 2: Gunakan perintah PAI

Jalankan komponen melalui perintah PAI di komponen SQL Script.

PAI -name triple_to_kv
    -project algo_public
    -DinputTableName=test_data
    -DoutputTableName=test_kv_out
    -DindexOutputTableName=test_index_out
    -DidColName=id
    -DkeyColName=word
    -DvalueColName=count
    -DinputTablePartitions=ds=test1
    -DindexInputTableName=test_index_input
    -DindexInputKeyColName=word
    -DindexInputKeyIdColName=word_id
    -DkvDelimiter=:
    -DpairDelimiter=;
    -Dlifecycle=3

Parameter

ParameterWajibDeskripsiBawaan
inputTableNameYaNama tabel tripel input.
idColNameYaKolom pengenal baris—tetap tidak berubah pada output.
keyColNameYaKolom yang nilainya menjadi kunci.
valueColNameYaKolom yang nilainya menjadi nilai.
outputTableNameYaNama tabel kunci-nilai output.
indexOutputTableNameYaNama tabel indeks output.
indexInputTableNameTidakTabel indeks yang sudah ada untuk digunakan. Harus berisi data.
indexInputKeyColNameTidakKolom kunci dalam tabel indeks yang sudah ada. Wajib jika indexInputTableName ditentukan.
indexInputKeyIdColNameTidakKolom ID indeks dalam tabel indeks yang sudah ada. Wajib jika indexInputTableName ditentukan.
inputTablePartitionsTidakPartisi dari tabel input. Hanya satu nama partisi yang didukung.
kvDelimiterTidakPembatas antara kunci dan nilainya.: (titik dua)
pairDelimiterTidakPembatas antar pasangan kunci-nilai., (koma)
lifecycleTidakSiklus hidup tabel output.
coreNumTidakJumlah instans komputasi. Harus berupa bilangan bulat positif.Dihitung otomatis dari data input
memSizePerCoreTidakTotal memori. Harus berupa bilangan bulat positif.Dihitung otomatis dari data input

Contoh

Contoh berikut mengonversi tabel tripel yang berisi catatan interaksi dua pengguna menjadi tabel kunci-nilai dan tabel indeks.

Langkah 1: Buat tabel input (triple2kv_test_input)

drop table if exists triple2kv_test_input;
create table triple2kv_test_input as
select * from (
  select '01' as id, 'a' as word, 10 as count
  union all select '01' as id, 'b' as word, 20 as count
  union all select '01' as id, 'c' as word, 30 as count
  union all select '02' as id, 'a' as word, 100 as count
  union all select '02' as id, 'd' as word, 200 as count
  union all select '02' as id, 'e' as word, 300 as count
) tmp;

Langkah 2: Jalankan perintah PAI

PAI -name triple_to_kv
    -project algo_public
    -DinputTableName=triple2kv_test_input
    -DoutputTableName=triple2kv_test_input_out
    -DindexOutputTableName=triple2kv_test_input_index_out
    -DidColName=id
    -DkeyColName=word
    -DvalueColName=count
    -Dlifecycle=1;

Output

Nama kolom a, b, c, d, e diberi ID 1–5. Tabel kunci-nilai (triple2kv_test_input_out) menggabungkan interaksi setiap pengguna menjadi satu string:

+----+-------------------+
| id | key_value         |
+----+-------------------+
| 01 | 1:10;2:20;3:30    |
| 02 | 1:100;4:200;5:300 |
+----+-------------------+

Tabel indeks (triple2kv_test_input_index_out) mencatat pemetaan nama kolom ke ID:

+-----+--------+
| key | key_id |
+-----+--------+
| a   | 1      |
| b   | 2      |
| c   | 3      |
| d   | 4      |
| e   | 5      |
+-----+--------+