【问题标题】:Mapping Synapse data flow with parameterized dynamic source need importing projection dynamically使用参数化动态源映射 Synapse 数据流需要动态导入投影
【发布时间】:2022-02-24 21:03:12
【问题描述】:

我正在尝试构建一个云数据仓库,在其中我已将本地表暂存为数据湖中的 parquet 文件。

我实现了元数据驱动的增量加载。

在上面的数据流中,我试图实现合并查询,将表名作为参数传递,以便数据流动态定位完整数据和增量数据的相应 parquet 文件,然后通过一些 ETL 步骤来实现合并查询。

合并查询工作正常。但我发现投影不正确。由于源文件是动态的,我还想在运行时动态“导入投影”。这样就可以用同一个数据流来实现任意表的合并查询。

在图片中,您看到它显示了 104 列(这是它在开发时导入的静态投影)。实际上这个表应该是 38 列。

我可以动态(即运行时)分配投影吗?如果有怎么办? 或者有人对此有什么建议吗? 感谢

蒙塔西尔乔德

【问题讨论】:

  • 如果投影发生变化,您如何处理转换中的列名?如果总是有一组具有动态源的公共列,则删除投影并使用 byName() 来代替列名。通过完整的架构漂移支持和后期列名绑定,这将使您的数据流尽可能灵活。

标签: azure-data-factory data-warehouse azure-synapse azure-sql-data-warehouse


【解决方案1】:

当元数据经常更改时,在源转换中启用架构漂移。这会在运行时删除或添加列。

源投影显示在运行时已导入的内容,但在运行时会根据源架构发生变化。

有关示例的更多详细信息,请参阅此document

【讨论】:

    猜你喜欢
    • 2021-07-07
    • 1970-01-01
    • 1970-01-01
    • 2021-12-24
    • 1970-01-01
    • 2020-08-31
    • 1970-01-01
    • 2021-10-28
    • 2012-06-17
    相关资源
    最近更新 更多