【发布时间】:2020-10-23 04:49:34
【问题描述】:
Azure 数据工厂的数据流中的“派生列”步骤是否能够在遍历具有不同列数的多个文件时动态检测空值并替换为 NULL 值?
我想要做的是将 10 个 csv 文件直接复制到 10 个表中,而不进行任何操作,但只用 NULL 替换空值。这 10 个文件中的每一个都包含 5-25 列。我知道我可以构建 10 个数据流来实现这一点,但想知道是否有更智能的方法来查找文件列表和 FOREACH 文件动态替换空值?
更新:
感谢约瑟夫的回答。似乎数据流会自动将空值视为 NULL。但是我又遇到了另一个解析问题,即 Sink 中的日期/时间/日期时间列接收 NULL 值。
来源: 日期/时间/日期时间列的位置在每个文件中不固定,也不具有相同的列名。由于源是 CSV 格式,所有列都被视为字符串类型,不能使用“类型”进行模式匹配:https://i.stack.imgur.com/X1C7z.png
水槽: 从上面的示例中,所有突出显示的列都在 Sink 中作为 NULL 传输:https://i.stack.imgur.com/PecRb.png
【问题讨论】:
-
你的 csv 文件有标题吗?在我的回答中,它必须有。
-
是的,他们有标题