【问题标题】:Azure - Trigger Databricks notebook for each new blob in Storage containerAzure - 为存储容器中的每个新 blob 触发 Databricks 笔记本
【发布时间】:2021-03-19 03:13:05
【问题描述】:

我正在实施一种测试解决方案:

我已经用 Python 创建了一个 Azure databricks 笔记本。此笔记本正在执行以下任务(用于测试)-

  1. 从 Pyspark 数据帧中的存储帐户读取 blob 文件。
  2. 对它做一些转换和分析。
  3. 使用转换后的数据创建 CSV 并存储在不同的容器中。
  4. 将原始读取的 CSV 移动到不同的存档容器(以便在下次执行时不会被拾取)。

*以上步骤也可以在不同的笔记本中完成。

现在,我需要为容器中的每个新 Blob 触发此笔记本。 我将实施以下编排-

容器中的新 blob -> 事件到 EventGrid 主题 -> 触发 Datafactory 管道 -> 执行 Databricks Notebook。

我们可以将文件名作为参数从 ADF 管道传递到 Databricks 笔记本。

寻找其他方法来进行编排流程。 如果以上看起来正确且更合适,请标记为已回答。

【问题讨论】:

  • 这是一个常见的模式,你应该没问题。

标签: azure azure-blob-storage azure-databricks azure-eventgrid azure-data-factory-pipeline


【解决方案1】:

容器中的新 blob -> 事件到 EventGrid 主题-> 触发器 Datafactory 管道 -> 执行 Databricks Notebook。

我们可以将文件名作为参数从 ADF 管道传递到 Databricks 笔记本。

寻找其他方法来进行编排流程。如果以上 似乎正确且更合适,请标记为已回答。

您可以使用此方法。当然,你也可以走这条路:

New blob in Container -> Use built-in event trigger to trigger Datafactory pipeline -> execute Databricks Notebook

我认为您不需要介绍事件网格,因为数据工厂带有用于基于 blob 创建事件的触发器。

【讨论】:

  • 感谢您的回复。我只使用 ADF 的内置事件触发器。 (我提到了 eventgrid ,因为这个 ADF 触发器还会在后端创建一个 EventGrid 系统主题)。
  • @Gopesh 您当前的方法是合适的。也许我们现在可以结束这个问题?
  • 我得到了 2 个支持 cmets 来支持我所关注的内容。所以,是的,它可以结束。
  • @Gopesh 你可以标记答案来结束这个问题。:)
【解决方案2】:

我获得了 2 个支持 cmets,用于我所关注的编排。 // 容器中的新 blob -> 事件到 EventGrid 主题 -> 触发 Datafactory 管道 -> 执行 Databricks Notebook。 //

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-24
    • 1970-01-01
    • 1970-01-01
    • 2022-11-10
    相关资源
    最近更新 更多