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

三元組轉(zhuǎn)kv

本文為您介紹Designer提供的三元組轉(zhuǎn)kv算法組件。

三元組轉(zhuǎn)kv算法組件用于將三元組表(row,col,value)轉(zhuǎn)換為kv表(row,[col_id:value])

三元組(row,col,value)表的數(shù)據(jù)類型為“XXD”或“XXL”,“X”表示任意數(shù)據(jù)類型,“D”表示DOUBLE數(shù)據(jù)類型,“L”表示BIGINT數(shù)據(jù)類型。轉(zhuǎn)換為kv表后,row和value的數(shù)據(jù)類型與原始輸入數(shù)據(jù)類型一致,col_id是BIGINT數(shù)據(jù)類型,并輸出col的索引表映射到col_id。

轉(zhuǎn)換示例如下。

  • 三元組表如下。

    id

    word

    count

    01

    a

    10

    01

    b

    20

    01

    c

    30

  • 輸出kv表如下。

    id

    key_value

    01

    1:10;2:20;3:30

    說明

    key_value中key和value、kv對(duì)之間的分隔符可自定義。

  • 輸出索引表如下。

    key

    key_id

    a

    1

    b

    2

    c

    3

Designer支持通過可視化或PAI命令方式,配置三元組轉(zhuǎn)kv算法組件相關(guān)參數(shù)。

組件配置

您可以使用以下任意一種方式,配置三元組專kv組件參數(shù)。

方式一:可視化方式

Designer工作流頁面配置組件參數(shù)。

頁簽

參數(shù)

描述

字段設(shè)置

轉(zhuǎn)成kv表時(shí)保持不變的列名

指定轉(zhuǎn)換為kv表時(shí),保持不變的列名稱。

輸出kv中的key

kv表中的key。

輸出kv中的value

kv表中key的值。

輸入索引表key的列名

索引表中key的列名。

輸入索引表key索引號(hào)的列名

索引表中索引號(hào)的列名。

key和value之間分隔符

kv表中key和value之間的分隔符。默認(rèn)值為冒號(hào)(:)。

kv對(duì)之間分隔符

kv對(duì)之間的分隔符。默認(rèn)值為英文逗號(hào)(,)。

執(zhí)行調(diào)優(yōu)

指定實(shí)例總數(shù)

指定Instance總數(shù)。取值范圍為正整數(shù)。系統(tǒng)默認(rèn)會(huì)根據(jù)輸入數(shù)據(jù)量大小計(jì)算。

指定內(nèi)存(單位MB)

指定內(nèi)存總數(shù)。取值范圍為正整數(shù)。系統(tǒng)默認(rèn)會(huì)根據(jù)輸入數(shù)據(jù)量大小計(jì)算。

方式二:PAI命令方式

使用PAI命令方式,配置該組件參數(shù)。您可以使用SQL腳本組件進(jìn)行PAI命令調(diào)用,詳情請(qǐng)參見SQL腳本

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

參數(shù)名稱

是否必選

描述

默認(rèn)值

inputTableName

輸入表的名稱。

idColName

指定轉(zhuǎn)換為kv表時(shí),保持不變的列名稱。

keyColName

kv表中的key。

valueColName

kv表中key的值。

outputTableName

輸出kv表的名稱。

indexOutputTableName

輸出索引表的名稱。

indexInputTableName

輸入已有的索引表的名稱。不能為空表。

indexInputKeyColName

索引表中key的列名。配置indexInputTableName后,必須配置該參數(shù)。

indexInputKeyIdColName

索引表中索引號(hào)的列名。配置indexInputTableName后,必須配置該參數(shù)。

inputTablePartitions

輸入表的分區(qū)名稱,只能輸入單個(gè)分區(qū)。

kvDelimiter

kv表中key和value之間的分隔符。

冒號(hào)(:)

pairDelimiter

kv對(duì)之間的分隔符。

英文逗號(hào)(,)

lifecycle

輸出表的生命周期。

coreNum

指定Instance總數(shù)。取值為正整數(shù)。

系統(tǒng)默認(rèn)會(huì)根據(jù)輸入數(shù)據(jù)量大小計(jì)算

memSizePerCore

指定內(nèi)存總數(shù)。取值為正整數(shù)。

系統(tǒng)默認(rèn)會(huì)根據(jù)輸入數(shù)據(jù)量大小計(jì)算

示例

  • 輸入數(shù)據(jù)

    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;
  • 運(yùn)行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;
  • 運(yùn)行結(jié)果

    • 輸出triple2kv_test_input_out kv表

      +------------+------------+
      | id         | key_value  |
      +------------+------------+
      | 02         | 1:100;4:200;5:300 |
      | 01         | 1:10;2:20;3:30 |
      +------------+------------+
    • 輸出triple2kv_test_input_index_out索引表

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