如何使用 azure 数据工厂拆分列值

Posted

技术标签:

【中文标题】如何使用 azure 数据工厂拆分列值【英文标题】:How to split column value using azure data factory 【发布时间】:2022-01-14 23:29:00 【问题描述】:

我有源 csv 文件,其中有一列有多个值(数据 sep.by 逗号 (,)),所以我想使用数据工厂提取特定的一列并将多条记录存储到表中(在数据库中) 具有不同的列名

您能否建议我应该如何设计那个 azure 数据工厂管道?

【问题讨论】:

您是说 CSV 文件有单独的列,其中的数据用逗号分隔?这本身就可能是一个完整的问题。不过,管道不直接操作数据,因此您需要查看数据流活动,它允许您使用数据本身。 @Joel Cochran 是和特定列,例如,列名:custom 具有多个逗号 sep 数据并且其数据长度超过 2000 个字符,我想分别拆分长度超过 2000 的记录.and (想给列名 col1,col2,col3 并且每列应该包含 2000 个字符) 【参考方案1】:

您可以使用数据流Derived Column 转换中的split 函数将列拆分为多个列并加载到接收器数据库,如下所示。

源转换:

派生列转换:

使用split()函数,根据返回数组的分隔符拆分列。

派生列数据预览:

在派生列中添加了 2 个新列,该列存储来自源列(名称)的拆分数据。

选择转换(可选):

在选择转换中,我们可以删除没有在接收器中使用的列,只选择需要的列。

下沉:

将接收器连接到数据库并映射列以加载数据。

【讨论】:

它很有用!但我不明白如何在第一个派生列中保存 2000 个字符,然后在第二个派生列中保存另一个 2000 个字符

以上是关于如何使用 azure 数据工厂拆分列值的主要内容,如果未能解决你的问题,请参考以下文章

在ms sql中如何拆分字符串:如一列值为 aaabbbccc 如何拆成 aaa , bbb, ccc三列?

根据列值拆分 Python 数据框,然后在算法中使用它们

使用 ETL 工具按列值将数据拆分为不定数量的表

Pandas 按唯一列值拆分数据框

如何拆分对象列表以分隔pyspark数据框中的列

sql如何把行拆分为几行