日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

您可以使用KV2Table轉化KV(Key:Value)格式的表為普通表格式。Key轉換成表的某列名,Value轉成該列在對應行的值。

背景信息

KV表格式定義:Key是列名的index,Value支持BIGINT和DOUBLE類型。在該組件中可以輸入用戶定義的key_map表,是列名和Key的映射,但無論是否輸入key_map表,該組件都會輸出key_map表記錄轉化后的列名和Key的映射。例如1:10,2:20和3:30。

key_map表格式定義:包含列名和index的映射以及類型信息的col_namecol_indexcol_datatype,這三列類型要求是STRING,當col_datatype缺失時,默認值為double類型。

col_name

col_index

col_datatype

col1

1

bigint

col2

2

double

組件配置

您可以使用以下任意一種方式,配置KV2Table組件參數。

方式一:可視化方式

Designer工作流頁面配置組件參數。

頁簽

參數

描述

字段設置

KV列名

KV列名。

附加列名

附加列名。

key和value之間分隔符

Key和Value之間分隔符。默認”:”。

kv對之間分隔符

KV對之間分隔符。默認”,”

參數設置

是否只截取前1200列

如果轉化后列數超過表最大列數1200列后,是否只截取前1200列。

執行調優

計算核心數

系統根據輸入數據量,自動分配訓練的實例數量。

每個核內存大小

系統根據輸入數據量,自動分配內存。單位為MB。

方式二:PAI命令方式

使用PAI命令方式,配置該組件參數。您可以使用SQL腳本組件進行PAI命令調用,詳情請參見SQL腳本

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

參數名稱

是否必選

參數描述

默認值

inputTableName

輸入表的表名。

kvColName

KV列名。

outputTableName

輸出結果表。

outputKeyMapTableName

輸出索引表名。

inputKeyMapTableName

輸入索引表名。

appendColName

附加列名。

inputTablePartitions

輸入表中,參與訓練的分區。支持以下格式:

  • Partition_name=value

  • name1=value1/name2=value2:多級格式

說明

如果指定多個分區,則使用英文逗號(,)分隔。

所有分區

kvDelimiter

Key和Value之間分隔符。

默認”:”

itemDelimiter

KV對之間分隔符。

默認”,”

top1200

是否只截取前1200列:

  • true

  • false

true

lifecycle

輸出表的生命周期,取值范圍為[1, 3650]。

coreNum

計算的核心數目,取值為正整數。

系統自動分配

memSizePerCore

每個核心的內存(單位是兆),取值范圍為(100,64*1024)

系統自動分配

示例

  • 數據生成

    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;
  • PAI命令行

     PAI -name KVToTable
        -project algo_public
        -DinputTableName=test
        -DoutputTableName=test_out
        -DoutputKeyMapTableName=test_keymap_out
        -DkvColName=kv;
  • 輸出說明

    • 輸出表

      +------------+------------+------------+
      | kv_1       | kv_2       | kv_3       |
      +------------+------------+------------+
      | 1.0        | 2.0        | -3.3       |
      | 10.0       | 20.0       | -33.3      |
      +------------+------------+------------+
    • 輸出映射表

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

算法規模

轉化后的列包含Append列和KV轉化的列,先輸出KV列再輸出Append列。當總列數超過最大列數限制,且輸出top1200選項為True時,則輸出最大列數,否則報錯,目前輸出表的最大列數為1200列。

數據量不超過1億條記錄。

常見問題

  • Q:如果有輸入key_map表,則轉化的列內容是什么?

    A:轉化的列是key_map表中的Key和KV表中的Key的交集。

  • Q:如果有輸入key_map表,則轉化后的Key列類型是什么?

    A:轉化后key列類型和key_map表中一致。如果key_map表無類型,則轉化后key列類型為DOUBLE。

  • Q:如果有輸入key_map表,則轉化后key列名稱的命名規則是什么?

    A:命名規則為kv列的列名+“”+key

    不支持以下字符:

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

  • Q:列名沖突原因是什么?

    A:如果指定了Append列,且Append列名和轉化后Key列名相同,則會報錯。

  • Q:轉化的列支持什么類型?

    A:只支持數值類型。

  • Q:列名長度超過128個字符時怎么辦?

    A:列名會被截斷成128個字符。

  • Q:同一行有重復Key時,如何處理?

    A:需要將Value值相加。