在 Azure 数据工厂中将固定宽度文件转换为定界文件 - 映射数据流

Converting Fixed width file to delimited file in Azure Data Factory - Mapping Data Flow

我在 ADLS 中有十个文件 (.txt)。我在 Azure SQL 数据库中有他们的元数据。 我的元数据如下所示:

我正在尝试使用映射数据流将固定宽度文件转换为 header 分隔文件。 Microsoft 关于此主题的唯一参考是 https://docs.microsoft.com/en-us/azure/data-factory/how-to-fixed-width.

但是我有多个列数不同的文件。 有什么方法可以将此元数据从 table 传递到派生列转换。 我知道使用 Databricks 很容易实现。但我必须使用数据流来做到这一点。

任何参考资料或指示都会很有帮助。

谢谢。

是的,您可以将此元数据从 table 传递到派生列转换。

请按照我的步骤操作:

  1. 我将 DataSource 链接到我的 ADLS 测试文件夹,其中包含 T1.txt、T2.txt 和 T3.txt。重要的是给存储文件名的列起一个名字,这样我们就可以得到文件的元数据(数据来自哪里)。 在数据预览选项卡中,我们可以看到信息:
  2. 然后我使用表达式replace(replace(FileName,'/',''),'.txt','')来替换多余的字符串。
  3. SQLSource 中,我按照您的示例创建了一个 table。
  4. 然后我加入了两个源码。
  5. 我使用表达式 substring(toString({_col0_}), startPosition, data_length) 根据元数据拆分字符串。
  6. 结果显示:

希望我的回答对您有所帮助。