当我们拥有 Polybase 时为什么要使用 Azure 数据工厂

Blu*_*uds 3 azure-data-factory-2 azure-sql-data-warehouse

我们的要求是从 Blob 存储中获取数据并转换为其他表格形式。这可以通过使用 polybase 的 Sql DW 来实现。在这种情况下,Azure 数据工厂的真正作用是什么?

我知道 Azure 数据工厂可以达到同样的目标。但是,带有 Polybase 的 Azure DW 难道不是最简单且具有成本效益的选择吗?

wBo*_*Bob 5

Polybase 实际上只能做一件事 - 将数据加载到 Azure Synapse Analytics(以前称为 Azure SQL 数据仓库)或启用了 Polybase 的 SQL Server。更准确地说,Polybase 充当存储在存储或数据湖中的平面文件的虚拟化层,允许它们作为外部表出现在数据库中,或使其可作为物理表加载到数据库中,例如通过 CTAS。

它做得很好,并且是推荐的将数据加载到 Synapse/Warehouse 的方法,前提是您为数据加载选择了正确的 DWU 和资源类。

Polybase 在拒绝错误行和一些不同的文件类型/分隔符(逗号、管道等)方面有几个不错的额外功能,但仅此而已。

因此,如果您需要做的只是加载一些文件或放置一个虚拟化层,那么是的,您可以只使用 Polybase。

不过让我问你几个问题:

  • 您打算如何进行编排?
  • 您打算如何安排日程?基于事件还是基于时间?
  • 当工作完成或出现错误时,您打算如何通知某人?
  • 您打算如何同时启动多个负载?Azure 数据工厂 (ADF) 有一个很棒的 For Each 任务,例如可以并行执行多达 20 个任务
  • 你想在加载之前还是之后运行一些存储过程?或者任何其他 ELT 活动?

希望这有助于解释通常至少是拼图的一部分的 Polybase 的位置。如果您有更轻量级的 ELT 流程,您可能会查看比 ADF 更轻量级的选项,如逻辑应用程序、Azure Run Books 等。

HTH