组件为数据预处理组件,将多列数据转换为Key:Value格式的一列数据。
使用限制
支持的计算引擎为MaxCompute和Flink。
算法简介
将数据格式从多列转成Key:Value格式,用户可以指定Key之间的分隔符和Key与Value之间的分隔符。转换之后,多列数据转换为一列。
可视化配置参数
【输入桩配置】
输入桩(从左到右) | 限制数据类型 | 建议上游组件 | 是否必选 |
数据 | 无 | 是 |
【右侧参数表单】
页签 | 参数 | 描述 |
字段设置 | 算法保留列名 | 组件输出中需要保留的列名,默认保留所有列。 |
选中的列名数组 | 需要转换为KV格式的数据列名。 | |
参数设置 | KV列名 | 生成的KV列的列名。 |
解析异常处理策略 | 取值如下:
| |
不同Key之间分隔符 | 不同Key之间的分隔符,默认为半角逗号。 | |
Key和Value之间分隔符 | Key和Value的分隔符,默认为半角冒号。 | |
执行调优 | 节点个数 | 与单个节点内存大小参数配对使用。取值为[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()
文档内容是否对您有帮助?