Azure Process Orchestration



我正在寻找有关流程编排最佳实践的建议。为了提供一些上下文,我有以下任务需要编排:

  1. 纵向扩展 Azure Batch 池以提供足够的节点
  2. 执行调用服务器以检索任务列表的自定义 .Net 代码。这些任务每天都在变化。将这些任务排队到批处理池上。
  3. 在批处理池上执行每个任务(自定义 .Net 代码)。每个任务都会在 Azure 存储帐户中创建数据。
  4. 缩减批处理池,因为它不再需要。
  5. 启动/纵向扩展数据仓库
  6. 将数据批量导入数据仓库(预计结合使用 PolyBase 和 BCP)。
  7. 聚合数据并将输出生成到 Azure 存储帐户。
  8. 暂停/缩减数据仓库

我目前正在将数据仓库与运行手册进行比较以执行上述操作。

我发现 Runbook 在设计和运行时的可视化方面非常原始。

我发现数据仓库在视觉上更美观。然而,数据切片似乎是矫枉过正。我只是希望这个过程在每天早上 8 点执行。我不希望它在过去几天内试图执行(例如,如果我修改模板)。我希望数据仓库也能沿着活动管道更好地处理故障/恢复。

我应该在这里考虑其他方法/建议吗?

谢谢 大卫

这是一个相当广泛的问题,所以我会提供一个广泛的答案......

Azure 数据工厂 (ADF) 当然可以执行上述列表中所需的大部分操作,但有一些例外/调整,如下所示。

批处理计算池缩放。这需要使用自动缩放功能在服务中本地处理,并传递命令来处理此问题。ADF 中没有直接设置的活动。

在第 3 点和第 4 点中提到的自定义 .Net 代码。可以将这些活动编写为传递给批处理服务执行的 ADF 自定义活动。因此,允许 ADF 处理这些 DLL 等,而不是让其他东西创建批处理任务,而 ADF 只是执行它们。ADF将处理所有这些问题。

有关创建自定义活动的详细信息,请参阅:https://www.purplefrogsystems.com/paul/2016/11/creating-azure-data-factory-custom-activities/

对于数据仓库,ADF 具有开箱即用的功能来执行查询并允许将参数传递给存储过程等。

最后,对于 DW 缩放和暂停,我认为需要在此处使用 Azure 自动化。我不知道 ADF 中有任何内容可以提供这种级别的控制,除非您再次打破 .Net。

希望这能指导你如何进步。

相关内容

  • 没有找到相关文章

最新更新