【问题标题】:Cache Lookup Properties in Azure Data FactoryAzure 数据工厂中的缓存查找属性
【发布时间】:2021-03-05 07:36:23
【问题描述】:

我有一个要求,其中我有一个源文件,其中包含映射数据流中的表名称。基于文件中的表名称 - 需要一个动态查询,其中列元数据以及一些其他属性从数据字典表中检索并插入到不同的接收器表中。文件中的表名将用作 where 条件过滤器。

由于输入文件中可以列出多个表(假设它是一个 csv,其中只有一列包含表名),如果我们决定为文件使用缓存接收器:

  1. 是否可以在同一映射数据流中的源转换查询中使用缓存接收器的结果 - 作为查找(从哪里检索列元数据),如果是,如何

  2. 根据此表名限制元数据表查询中的数据的最佳方法是什么

  3. 虽然可以通过使用 For Each 将表名作为参数传递给数据流的管道来实现这一点,但在这种情况下,如果文件中有 100 个表,则需要进行 100 次迭代和 100 次集群被旋转起来。请告知这是错误的还是有更好的方法来实现这一点

【问题讨论】:

    标签: azure etl azure-data-factory azure-data-factory-2 azure-data-factory-pipeline


    【解决方案1】:

    您需要使用选项 3。遍历表名并将每个作为参数传递给数据流,以在数据集中设置表名。

    ADF 处理集群的创建和拆除。您所要担心的是您是要按顺序执行还是并行执行,以及执行多少。 ADF 中存在并发限制,因此如果您并行运行,则应考虑批量计数为 20。

    【讨论】:

    • 1) 需要顺序,因为输入条目依赖于目标表的最大键。无论如何要运行这个并行 2) 使用选项 3 - 集群不会为 100 个表旋转 100 次,并且不会增加多次预热集群的开销。进一步从成本角度建议
    • 在 Azure IR 上设置一个小的 TTL 值,集群将在大约 1.5 分钟后在每次后续执行中可用。我们正在开发一项功能以改进 Databrick 的暖池实施,以将其缩短到 1 分钟以下。
    猜你喜欢
    • 2020-12-31
    • 2021-12-17
    • 2022-11-11
    • 2020-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-15
    • 1970-01-01
    相关资源
    最近更新 更多