如何使用 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 数据工厂拆分列值的主要内容,如果未能解决你的问题,请参考以下文章

如何在数据工厂中获取 CSV 的第一行和第一列值?

如何使用 Azure 数据工厂管道创建容器?

如何使用构建管道部署 Azure 数据工厂资源?

如何强制 Azure 数据工厂数据流使用 Databricks

如何使用 azure 数据工厂下载 blob

如何使用数据工厂将数据从 Azure Blob 存储增量加载到 Azure SQL 数据库?