【问题标题】:split the file by their transaction date though ADF通过 ADF 按交易日期拆分文件
【发布时间】:2021-07-06 07:17:11
【问题描述】:

通过使用 ADF,我们将数据从本地 sql server 卸载到单个 parquet 中的 datalake 文件夹以进行完全加载。

然后在增量加载中,我们将继续保存在当天的文件夹 yyyy/mm/dd 结构中。

但我希望完整加载文件也通过各自交易日的文件夹将其分开。ex:在完整加载文件中,我们有 3 年的数据。我希望数据在每个单独的文件夹中按交易日拆分。比如 2019/01/01..2019/01/02 ..2020/01/01 而不是单个文件。

有没有办法在 ADF 中实现这一点,或者在卸载自身时我们可以得到这个文件夹结构来完全加载吗?

【问题讨论】:

  • 我们可以根据文档的last modification date 对文档进行分类吗?假设我们可以根据这个属性对这些文件进行分类?
  • 没有。它是一个文件,我们有 2 年的数据,我希望这个文件按该文件中的事务列分区。

标签: azure azure-data-factory-2 azure-data-lake


【解决方案1】:

Hi@Kumar AK 经过一段时间的探索,我找到了答案。我认为我们需要使用 Azure data flow 来实现这一点。

  1. 我的源文件是一个 csv 文件,其中包含transaction_date 列。

  2. 将此 csv 设置为数据流中的源。

  3. DerivedColumn1活动中,我们可以通过transaction_date列生成一个新列FolderNameFolderName 将用作文件夹结构。

  4. sink1 活动中,选择Name file as column data 作为文件名选项,选择FolderName 列作为列数据。

  5. 就是这样。 csv 文件的这些行将被拆分为不同文件夹中的文件。调试结果如下:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-06
    • 2018-06-15
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 2010-09-19
    • 2017-11-22
    相关资源
    最近更新 更多