首页 > 解决方案 > 在数据流的接收器设置下选择“作为列中的数据”作为文件名选项是在 Azure 数据工厂 V2 中的 Blob 存储的根目录中写入数据

问题描述

这就是我目前在数据流中尝试做的事情:

  1. 从 SQL DWH 读取表(FileName、ProductID、MachinesCount、UsersCount、LastUsed)
  2. 在我的接收器设置中,我将“文件名选项”设置为“作为列中的数据”并给出了文件名列。

在我的 Sink 数据集(Azure Blob 存储)中,我已将容器指定为“referencedata”,并将文件夹路径指定为“mostused/accounts/newaccounts”。现在,每当数据流运行时,它只会将数据写入 Blob 容器的根目录,即“referencedata”并忽略文件夹路径。

可能有用的额外信息:当数据流实际上在“最常用/帐户/新帐户”中运行其写入数据时,就像 Azure Databricks 所做的那样,但随后将其移动到 Blob 容器的根目录。我认为将 Azure Databricks 多分区文件复制到更多人类可读文件的逻辑是错误的,并且它会将文件移动到 Blob 容器的根目录。

标签: azure-data-factory-2

解决方案


找到了解决方案。选择“作为列中的数据”时,您需要指定容器中的文件夹路径。因此,如果您的文件名是 file.json,并且您希望将其写入目录“mostused/accounts/newaccounts”,则需要将列值设置为“mostused/accounts/newaccounts/file.json”。

我知道这是一种令人困惑的体验,Microsoft 正在努力改进它。


推荐阅读