当我们有 Polybase 时为何选择 Azure Data Factory
Why Azure Data Factory when we have Polybase
我们的需求是从Blob Storage中取出数据,并转换成其他表格形式。这可以通过 Sql DW 使用 polybase 来实现。在这种情况下,Azure 数据工厂的真正作用是什么?
我知道 Azure 数据工厂也可以满足同样的 objective。但是,带有 Polybase 的 Azure DW 不是最简单且经济高效的选择吗?
Polybase 实际上只能做一件事 - 将数据加载到 Azure Synapse Analytics(以前称为 Azure SQL 数据仓库)或 SQL 启用了 Polybase 的服务器。更准确地说,Polybase 充当存储在存储或数据湖中的平面文件的虚拟化层,允许它们作为外部 table 呈现在数据库中,或者使它们可作为物理 table 加载到数据库中],例如通过 CTAS。
它做得很好,并且是将数据加载到 Synapse/Warehouse 的推荐方法,前提是您 select 适合数据加载的 DWU 和资源 class。
Polybase 在拒绝错误行和一些不同的文件类型/分隔符(逗号、竖线等)方面有一些不错的额外功能,但仅此而已。
因此,如果您需要做的只是加载一些文件或放置一个虚拟化层,那么是的,您可以只使用 Polybase。
但是让我问你几个问题:
- 你打算如何编排?
- 你打算如何安排你的行程?基于事件还是基于时间?
- 当工作完成或出现错误时,您打算如何通知他人?
- 您打算如何同时启动多个负载? Azure 数据工厂 (ADF) 有一个很棒的 For Each 任务,例如可以并行执行多达 20 个任务
- 您想 运行 在加载之前还是之后加载一些存储过程?或任何其他 ELT 活动?
希望这有助于解释 Polybase 的位置,它通常至少是拼图的一部分。如果您有更轻量级的 ELT 流程,您可能会考虑比 ADF 更轻量级的选项,例如逻辑应用程序、Azure 运行 书籍等。
HTH
表面上看,肯定用Polybase就可以了,很简单。它使用 TSQL。但是,我们在谈论多少数据?不同的格式?它需要清洁或改造吗?随着这些需求的增长,答案可能会改变。如果您有大量数据要转换,也许您不想将 DW CPU 周期花费在转换而不是查询上?所以,就像这里的大多数事情一样,答案......取决于。您可以使用 Polybase、SSIS、ADF、HDInsight 等……James Serra 很好地列出了所有选项。
https://www.jamesserra.com/archive/2019/01/what-product-to-use-to-transform-my-data/
我们的需求是从Blob Storage中取出数据,并转换成其他表格形式。这可以通过 Sql DW 使用 polybase 来实现。在这种情况下,Azure 数据工厂的真正作用是什么?
我知道 Azure 数据工厂也可以满足同样的 objective。但是,带有 Polybase 的 Azure DW 不是最简单且经济高效的选择吗?
Polybase 实际上只能做一件事 - 将数据加载到 Azure Synapse Analytics(以前称为 Azure SQL 数据仓库)或 SQL 启用了 Polybase 的服务器。更准确地说,Polybase 充当存储在存储或数据湖中的平面文件的虚拟化层,允许它们作为外部 table 呈现在数据库中,或者使它们可作为物理 table 加载到数据库中],例如通过 CTAS。
它做得很好,并且是将数据加载到 Synapse/Warehouse 的推荐方法,前提是您 select 适合数据加载的 DWU 和资源 class。
Polybase 在拒绝错误行和一些不同的文件类型/分隔符(逗号、竖线等)方面有一些不错的额外功能,但仅此而已。
因此,如果您需要做的只是加载一些文件或放置一个虚拟化层,那么是的,您可以只使用 Polybase。
但是让我问你几个问题:
- 你打算如何编排?
- 你打算如何安排你的行程?基于事件还是基于时间?
- 当工作完成或出现错误时,您打算如何通知他人?
- 您打算如何同时启动多个负载? Azure 数据工厂 (ADF) 有一个很棒的 For Each 任务,例如可以并行执行多达 20 个任务
- 您想 运行 在加载之前还是之后加载一些存储过程?或任何其他 ELT 活动?
希望这有助于解释 Polybase 的位置,它通常至少是拼图的一部分。如果您有更轻量级的 ELT 流程,您可能会考虑比 ADF 更轻量级的选项,例如逻辑应用程序、Azure 运行 书籍等。
HTH
表面上看,肯定用Polybase就可以了,很简单。它使用 TSQL。但是,我们在谈论多少数据?不同的格式?它需要清洁或改造吗?随着这些需求的增长,答案可能会改变。如果您有大量数据要转换,也许您不想将 DW CPU 周期花费在转换而不是查询上?所以,就像这里的大多数事情一样,答案......取决于。您可以使用 Polybase、SSIS、ADF、HDInsight 等……James Serra 很好地列出了所有选项。 https://www.jamesserra.com/archive/2019/01/what-product-to-use-to-transform-my-data/