列数据转KV

组件为数据预处理组件,将多列数据转换为Key:Value格式的一列数据。

使用限制

支持的计算引擎为MaxComputeFlink。

算法简介

将数据格式从多列转成Key:Value格式,用户可以指定Key之间的分隔符和KeyValue之间的分隔符。转换之后,多列数据转换为一列。

可视化配置参数

【输入桩配置】

输入桩(从左到右)

限制数据类型

建议上游组件

是否必选

数据

读数据表

CSV文件

【右侧参数表单】

页签

参数

描述

字段设置

算法保留列名

组件输出中需要保留的列名,默认保留所有列。

选中的列名数组

需要转换为KV格式的数据列名。

参数设置

KV列名

生成的KV列的列名。

解析异常处理策略

取值如下:

  • ERROR(默认值):任务抛异常退出。

  • SKIP,输出NULL。

不同Key之间分隔符

不同Key之间的分隔符,默认为半角逗号。

KeyValue之间分隔符

KeyValue的分隔符,默认为半角冒号。

执行调优

节点个数

与单个节点内存大小参数配对使用。取值为[1, 9999]的正整数。

单个节点内存大小,单位M

取值范围为1024 MB~64*1024 MB。

【输出桩说明】

输出桩(从左到右)

存储位置

下游建议组件

模型类型

输出结果

不需要配置

具体示例

您可以将以下代码复制到PyAlink脚本组件中,使PyAlink脚本组件实现与该组件相同的功能。

from pyalink.alink import *

def main(sources, sinks, parameter):
    data = sources[0]
    op = ColumnsToKvBatchOp()\
        .setSelectedCols(["f0", "f1"])\
        .setReservedCols(["row"])\
        .setKvCol("kv")\
        .linkFrom(data)
    result = op.linkFrom(data)
    result.link(sinks[0])
    BatchOperator.execute()