【问题标题】:Get File Structure from Get Metadata in ADF从 ADF 中的获取元数据获取文件结构
【发布时间】:2021-10-04 16:42:29
【问题描述】:

我想获取 parquet 文件的列名。我的管道中有一个 Get Metadata 模块,它使用的是仅提供根文件夹的镶木地板数据集。因为只提供文件夹 ADF 不允许我获取包含列名的文件结构。未提供文件名,因为它可能会更改。任何人都可以就如何解决这个问题提供一些建议吗?

【问题讨论】:

  • 我也有同样的挑战。 GetMetadata 需要重大更新。除了这个问题之外,没有递归能力是一个主要障碍,它会导致人们为它已经做过的事情(只是不递归地做)创建函数应用程序。我所说的大多数利用 PARQUET 的人都指向一个目录,因为正如您所指出的,您通常不控制文件名,而只是指向目录的根目录。

标签: azure-data-factory-2


【解决方案1】:

如果您的文件名每次都不相同,您将需要 2 个 Get Metadata 活动和一个 ForEach 活动来获取文件结构。

源数据集:

文件名参数化,文件名频繁变化。

预览源数据:

获取元数据1:

  • 在第一个 Get Metadata 活动中,动态获取文件名。
  • 您还可以通过在文件名中添加表达式来指定您的文件名是否包含任何特定的模式,如果没有,您可以提及星号 (*)需要处理特定模式或需要处理文件夹中的多个文件。
  • 当您想从文件夹中获取文件时,将字段列表作为子项

Get Metadata1的

输出:从文件夹中获取文件名。

FoEach 活动:

使用ForEach 活动,您可以获得列在“获取元数据”活动输出数组中的项目名称。

获取元数据2:

ForEach 活动中添加Get Metadata 活动以从文件夹中获取当前文件的文件结构或列列表。它可以循环计算文件夹中的项目数(1个或更多)。

输出的Get Metadata2:

【讨论】:

    【解决方案2】:

    您可以在数据集中或通过 GetMeta 数据活动参数化您的文件名,获取文件夹中的文件列表,然后通过 GetMetaData 活动获取这些相应文件的列列表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-07
      • 1970-01-01
      • 2021-09-28
      • 2016-08-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多