Topik ini menjelaskan komponen Mengonversi Baris, Kolom, dan Nilai menjadi Pasangan KV yang disediakan oleh Machine Learning Designer (sebelumnya dikenal sebagai Machine Learning Studio).
Komponen ini mengonversi tabel trituple (baris,kolom,nilai) menjadi tabel key-value (baris,[kolom_id:nilai]).
Tipe data dari tabel trituple (baris,kolom,nilai) adalah "XXD" atau "XXL". "X" mewakili tipe data apa pun, "D" mewakili tipe data DOUBLE, dan "L" mewakili tipe data BIGINT. Dalam tabel key-value yang dihasilkan setelah konversi, tipe data baris dan nilai sama dengan tipe data input asli. Tabel indeks yang dihasilkan dari kolom memetakan ke kolom col_id. Tipe data kolom col_id adalah BIGINT.
Tabel-tabel berikut memberikan contoh konversi.
Tabel berikut adalah tabel trituple.
id
kata
jumlah
01
a
10
01
b
20
01
c
30
Tabel berikut adalah tabel key-value yang dihasilkan.
id
key_value
01
1:10;2:20;3:30
nullAnda dapat menyesuaikan pemisah antara kunci dan nilai, serta antara dua pasangan kunci-nilai dalam kolom key_value.
Tabel berikut adalah tabel indeks yang dihasilkan.
kunci
kunci_id
a
1
b
2
c
3
Anda dapat mengonfigurasi komponen menggunakan konsol Platform for AI (PAI) atau perintah PAI.
Mengonfigurasi komponen
Anda dapat menggunakan salah satu metode berikut untuk mengonfigurasi komponen Mengonversi Baris, Kolom, dan Nilai menjadi Pasangan KV.
Metode 1: Mengonfigurasi komponen pada halaman pipeline
Anda dapat mengonfigurasi parameter komponen Baris, Kolom, dan Nilai menjadi Pasangan 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 tersebut.
Tab | Parameter | Deskripsi |
Fields Setting | Columns Reserved During KV Conversion | Nama kolom yang tetap tidak berubah setelah tabel trituple dikonversi menjadi tabel key-value. |
Output Keys | Kunci-kunci dalam tabel key-value. | |
Output Values | Nilai-nilai dalam tabel key-value. | |
Key Column in Input Index Table | Nama kolom kunci dalam tabel indeks. | |
Index ID Column of Key in Input Index Table | Nama kolom indeks dalam tabel indeks. | |
KV Delimiter | Pemisah yang digunakan untuk memisahkan kunci dan nilai dalam tabel key-value. Pemisah default adalah titik dua (:). | |
KV Pair Delimiter | Pemisah yang digunakan untuk memisahkan pasangan key-value. Nilai default: koma (,). | |
Pengaturan Lanjutan | Total Number of Instances | Jumlah total instansi. Nilainya harus bilangan bulat positif. Secara default, sistem menghitung nilai berdasarkan jumlah data input. |
Memory Size (MB) | Total memori. Nilainya harus bilangan bulat positif. Secara default, sistem menghitung nilai berdasarkan jumlah data input. |
Metode 2: Gunakan perintah PAI
Konfigurasikan parameter komponen menggunakan perintah PAI. Anda dapat menggunakan komponen SQL Script untuk memanggil perintah PAI. Untuk informasi lebih lanjut, lihat 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=3Parameter | Diperlukan | Deskripsi | Nilai Default |
inputTableName | Ya | Nama tabel input. | Tidak ada nilai default |
idColName | Ya | Nama kolom yang tetap tidak berubah setelah tabel trituple dikonversi menjadi tabel key-value. | Tidak ada nilai default |
keyColName | Ya | Nama kolom yang mencantumkan kunci dalam tabel key-value. | Tidak ada nilai default |
valueColName | Ya | Nama kolom yang mencantumkan nilai dalam tabel key-value. | Tidak ada nilai default |
outputTableName | Ya | Nama tabel key-value yang dihasilkan. | Tidak ada nilai default |
indexOutputTableName | Ya | Nama tabel indeks yang dihasilkan. | Tidak ada nilai default |
indexInputTableName | Tidak | Nama tabel indeks yang sudah ada. Tabel tersebut harus berisi data. | Tidak ada nilai default |
indexInputKeyColName | Tidak | Nama kolom kunci dalam tabel indeks. Parameter ini diperlukan jika Anda mengatur parameter indexInputTableName. | Tidak ada nilai default |
indexInputKeyIdColName | Tidak | Nama kolom indeks dalam tabel indeks. Parameter ini diperlukan jika Anda mengatur parameter indexInputTableName. | Tidak ada nilai default |
inputTablePartitions | Tidak | Nama partisi tabel input. Anda hanya dapat memasukkan satu nama partisi. | Tidak ada nilai default |
kvDelimiter | Tidak | Pemisah yang digunakan untuk memisahkan kunci dan nilai dalam tabel key-value. | Titik dua (:) |
pairDelimiter | Tidak | Pemisah yang digunakan untuk memisahkan pasangan key-value. | Koma (,) |
lifecycle | Tidak | Siklus hidup tabel output. | Tidak ada nilai default |
coreNum | Tidak | Jumlah total instansi. Nilainya harus bilangan bulat positif. | Dihitung secara otomatis berdasarkan jumlah data input |
memSizePerCore | Tidak | Total memori. Nilainya harus bilangan bulat positif. | Dihitung secara otomatis berdasarkan jumlah data input |
Contoh
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;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
Tabel key-value triple2kv_test_input_out
+------------+------------+ | id | key_value | +------------+------------+ | 02 | 1:100;4:200;5:300 | | 01 | 1:10;2:20;3:30 | +------------+------------+Tabel indeks triple2kv_test_input_index_out
+------------+------------+ | key | key_id | +------------+------------+ | a | 1 | | b | 2 | | c | 3 | | d | 4 | | e | 5 | +------------+------------+