0

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

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

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

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

我发现数据仓库在视觉上更具吸引力。然而,数据切片似乎是大材小用。我只是希望该过程在每天早上 8 点执行。我不希望它在过去几天内尝试执行(例如,如果我修改了模板)。我希望数据仓库也能更好地处理活动管道中的故障/恢复。

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

谢谢大卫

4

1 回答 1

0

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

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。

希望这可以指导您如何进步。

于 2017-05-12T10:21:26.473 回答