全部产品
Search
文档中心

Platform For AI:KV ke Tabel

更新时间:Jul 02, 2025

KV ke Tabel adalah algoritma yang dirancang untuk mengonversi data dalam format key-value (KV) menjadi format tabel biasa. Algoritma ini menggunakan kunci sebagai nama kolom dalam tabel dan mengisi nilai-nilai yang sesuai ke dalam baris masing-masing, sehingga memulihkan struktur tabular dari data untuk analisis dan pemrosesan lebih lanjut.

Informasi latar belakang

Definisi format tabel key-value: Kunci mewakili indeks nama kolom, dan nilai mendukung data bertipe BIGINT atau DOUBLE. Anda dapat mengimpor tabel key_map kustom ke dalam komponen ini. Tabel key_map berisi pemetaan antara nama kolom dan kunci. Baik tabel key_map diimpor atau tidak, komponen ini mengekspor tabel key_map untuk mencatat pemetaan antara nama kolom dan kunci setelah konversi, seperti 1:10, 2:20, dan 3:30.

Definisi format tabel key_map: Format tabel key_map berisi pemetaan antara nama kolom dan indeks serta informasi tipe data, yang sesuai dengan parameter col_name, col_index, dan col_datatype. Nilai dari ketiga parameter tersebut harus bertipe data STRING. Jika Anda tidak menentukan parameter col_datatype, nilai default dari parameter ini adalah double.

col_name

col_index

col_datatype

col1

1

bigint

col2

2

double

Parameter komponen

Anda dapat menggunakan salah satu metode berikut untuk mengonfigurasi komponen KV ke Tabel:

Metode 1: Konfigurasikan komponen pada halaman pipeline

Konfigurasikan komponen pada halaman pipeline Machine Learning Designer.

Tab

Parameter

Deskripsi

Fields Setting

KV Column

Nama kolom yang berisi data dalam format key-value.

Appended Columns

Nama kolom tambahan.

KV Delimiter

Pemisah yang digunakan antara kunci dan nilai. Secara default, titik dua (:) digunakan.

KV Pair Delimiter

Pemisah yang digunakan antara pasangan key-value. Secara default, koma (,) digunakan.

Parameters Setting

Reserve the First 1,200 Columns

Menentukan apakah hanya akan menyimpan 1.200 kolom pertama jika jumlah kolom dalam tabel key_map setelah konversi melebihi 1.200.

Tuning

Computing Cores

Jumlah inti. Sistem secara otomatis mengalokasikan inti yang digunakan untuk pelatihan berdasarkan volume data masukan.

Memory Size per Core

Ukuran memori setiap inti. Sistem secara otomatis mengalokasikan memori berdasarkan volume data masukan. Unit: MB.

Metode 2: Gunakan perintah PAI

Konfigurasikan komponen dengan menggunakan perintah PAI. Anda dapat menggunakan komponen SQL Script untuk menjalankan perintah PAI. Untuk informasi lebih lanjut, lihat SQL Script.

PAI -name KVToTable
    -project algo_public
    -DinputTableName=test
    -DoutputTableName=test_out
    -DoutputKeyMapTableName=test_keymap_out
    -DkvColName=kv;

Parameter

Diperlukan

Deskripsi

Nilai default

inputTableName

Ya

Nama tabel masukan.

Tidak tersedia

kvColName

Ya

Nama kolom yang berisi data dalam format key-value.

Tidak tersedia

outputTableName

Ya

Nama tabel keluaran.

Tidak tersedia

outputKeyMapTableName

Ya

Nama tabel indeks keluaran.

Tidak tersedia

inputKeyMapTableName

Tidak

Nama tabel indeks masukan.

Tidak tersedia

appendColName

Tidak

Nama kolom tambahan.

Tidak tersedia

inputTablePartitions

Tidak

Partisi yang dipilih dari tabel masukan untuk pelatihan. Tentukan parameter ini dalam salah satu format berikut:

  • Partition_name=value

  • name1=value1/name2=value2: partisi multi-level

Catatan

Jika Anda menentukan beberapa partisi, pisahkan mereka dengan koma (,).

Semua partisi

kvDelimiter

Tidak

Pemisah yang digunakan antara kunci dan nilai.

Titik dua (:)

itemDelimiter

Tidak

Pemisah yang digunakan antara pasangan key-value.

Koma (,)

top1200

Tidak

Menentukan apakah hanya akan menyimpan 1.200 kolom pertama. Nilai valid:

  • true

  • false

true

lifecycle

Tidak

Lifecycle tabel keluaran.

Tidak tersedia

coreNum

Tidak

Jumlah inti yang digunakan dalam komputasi. Nilainya harus bilangan bulat positif.

Ditentukan oleh sistem

memSizePerCore

Tidak

Ukuran memori setiap inti. Unit: MB. Nilai valid: (100,64 × 1024).

Ditentukan oleh sistem

Contoh

  • Hasilkan Data Masukan

    drop table if exists test;
    create table test as
    select * from
        (
            select '1:1,2:2,3:-3.3' as kv union all
            select '1:10,2:20,3:-33.3' as kv
        ) tmp;
  • Jalankan Perintah PAI

     PAI -name KVToTable
        -project algo_public
        -DinputTableName=test
        -DoutputTableName=test_out
        -DoutputKeyMapTableName=test_keymap_out
        -DkvColName=kv;
  • Deskripsi Keluaran

    • Tabel Keluaran

      +------------+------------+------------+
      | kv_1       | kv_2       | kv_3       |
      +------------+------------+------------+
      | 1.0        | 2.0        | -3.3       |
      | 10.0       | 20.0       | -33.3      |
      +------------+------------+------------+
    • Tabel Pemetaan Keluaran

      +------------+------------+------------+
      | col_name   | col_index  | col_type   |
      +------------+------------+------------+
      | kv_1       | 1          | double     |
      | kv_2       | 2          | double     |
      | kv_3       | 3          | double     |
      +------------+------------+------------+

Skala algoritma

Kolom yang dikonversi mencakup kolom tambahan dan kolom yang dikonversi menggunakan komponen KV ke Tabel. Kolom yang dikonversi menggunakan komponen KV ke Tabel diekspor sebelum kolom tambahan. Jika jumlah kolom yang dikonversi melebihi jumlah maksimum kolom tabel key_map, dan parameter top1200 disetel ke true, jumlah maksimum kolom diekspor. Jika tidak, kesalahan dilaporkan. Maksimal 1.200 kolom dapat diekspor.

Jumlah catatan data tidak boleh melebihi 100 juta.

FAQ

  • T: Kolom mana yang dikonversi jika masukan termasuk tabel key_map?

    A: Kolom yang dikonversi adalah kolom yang kuncinya ada di kedua tabel key_map dan tabel key-value.

  • T: Apa tipe data kolom kunci setelah konversi jika masukan termasuk tabel key_map?

    A: Tipe data kolom kunci yang dikonversi sama dengan tipe data tabel key_map. Jika tipe data tabel key_map tidak ditentukan, tipe data kolom kunci yang dikonversi adalah DOUBLE.

  • T: Apa konvensi penamaan untuk kolom kunci yang dikonversi jika tabel key_map diimpor?

    A: Konvensi penamaannya adalah Nama kolom dalam format key:value + "" + Key.

    Karakter berikut tidak didukung:

    %&()*+-./;<>=?

  • T: Mengapa nama kolom bertabrakan satu sama lain?

    A: Jika Anda menentukan kolom tambahan dan nama kolom tambahan tersebut sama dengan nama kolom kunci yang dikonversi, kesalahan dilaporkan.

  • T: Jenis kolom apa yang dapat dikonversi?

    A: Hanya kolom dengan tipe data numerik yang dapat dikonversi.

  • T: Apa yang terjadi jika panjang nama kolom melebihi 128 karakter?

    A: Hanya 128 karakter pertama dari nama kolom yang disimpan.

  • T: Apa yang harus saya lakukan jika sebuah baris berisi kunci duplikat?

    A: Hitung jumlah nilai yang sesuai dengan kunci-kunci tersebut.