すべてのプロダクト
Search
ドキュメントセンター

Platform For AI:テーブルから KV への変換

最終更新日:Apr 01, 2026

「テーブルから KV への変換」コンポーネントは、通常の表形式データをキーと値のペア(KV)形式の文字列に変換します。選択した各列が、出力において 1 つのキーと値のペアとして表現されます。

BIGINT 型または DOUBLE 型の列のみを変換できます。その他の列は、appendColNames を使用して、元のフォーマットのまま通過させることができます。NULL 値は出力から除外されます。保持する列を明示的に指定できます。指定された列は、元のフォーマットで保持されます。

「テーブルから KV への変換」コンポーネントの構成

構成方法は 2 種類あります。

方法 1:Machine Learning Designer を使用して構成

Machine Learning Platform for AI(PAI)の Machine Learning Designer(旧称:Machine Learning Studio)のパイプラインページで、コンポーネントのパラメーターを構成します。

タブパラメーター説明
フィールド設定変換対象の列変換対象の列名。列のデータの型は BIGINT 型または DOUBLE 型である必要があります。
予約済みの列元のフォーマットのまま通過させる列名。
KV 区切り文字キーと値を区切る文字。デフォルト値:コロン(:)。
KV ペア区切り文字キーと値のペアを区切る文字。デフォルト値:カンマ(,)。
パラメーター設定列名を ID に変換出力において列名を整数 ID に置き換えるかどうか。有効な値: はいいいえ
チューニングコア数コア数。システムは入力データのサイズに基づいて、自動的にコア数を割り当てます。
メモリサイズコアあたりのメモリ量(MB)。システムは入力データのサイズに基づいて、自動的にメモリ量を割り当てます。

方法 2:PAI コマンドを使用して構成

SQL スクリプトコンポーネント経由で PAI コマンドを実行します。詳細については、「SQL スクリプト」をご参照ください。

PAI -name TableToKV
    -project algo_public
    -DinputTableName=maple_tabletokv_basic_input
    -DoutputTableName=maple_tabletokv_basic_output
    -DselectedColNames=col0,col1,col2
    -DappendColNames=rowid;
パラメーター必須説明デフォルト
inputTableNameはい入力テーブルの名前。なし
outputTableNameはい出力テーブルの名前。なし
selectedColNamesいいえ変換対象の列。BIGINT 型または DOUBLE 型である必要があります。すべての列
appendColNamesいいえ元のフォーマットのまま通過させる列。なし
inputTablePartitionsいいえ入力テーブルから読み取るパーティション。フォーマットは Partition_name=value です。マルチレベルパーティションの場合は、name1=value1/name2=value2; を使用します。複数のパーティションを指定する場合は、カンマ(,)で区切ります。すべてのパーティション
kvDelimiterいいえキーと値を区切る文字。コロン(:
itemDelimiterいいえキーと値のペアを区切る文字。カンマ(,
convertColToIndexIdいいえ列名を整数 ID に置き換えるかどうか。置き換える場合は 1、列名を保持する場合は 0 を指定します。0
inputKeyMapTableNameいいえ列 ID マッピングに使用する既存のインデックステーブルの名前。convertColToIndexId=1 の場合のみ使用されます。指定しない場合は、システムが新しい ID セットを生成します。null
outputKeyMapTableNameはい(convertColToIndexId=1 の場合)列から ID へのマッピングを格納する出力インデックステーブルの名前。なし
lifecycleいいえ出力テーブルのライフサイクル(日数)。正の整数を指定する必要があります。なし
coreNumいいえコア数。有効範囲:1~9999。必ず memSizePerCore と併用してください。システムによる自動決定
memSizePerCoreいいえコアあたりのメモリ量(MB)。有効範囲:1024~65536。必ず coreNum と併用してください。システムによる自動決定

制限事項

  • 入力 key_map テーブルが指定されている場合、key_map テーブルと入力テーブルの両方に存在する列名のみが変換対象となります。

  • key_map テーブルで指定されたデータの型が、入力テーブル内の対応する列の実際のデータの型と異なる場合、出力 key_map テーブルでは、key_map テーブルで定義されたデータの型が使用されます。

入力テーブル

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;

PAI コマンド

PAI -name TableToKV
    -project algo_public
    -DinputTableName=test
    -DoutputTableName=test_output
    -DselectedColNames=col0,col1,col2
    -DconvertColToIndexId=1
    -DoutputKeyMapTableName=test_key_map
    -DappendColNames=rowid;

col0col1、および col2 が KV 形式に変換されます。rowid は元のフォーマットのまま通過します。また、convertColToIndexId=1 であるため、列名は整数 ID に置き換えられます。

出力テーブル:`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

出力テーブル:`test_key_map`

col_namecol_indexcol_datatype
col00bigint
col11double
col22bigint