拥有Polybase时为何选择Azure Data Factory

时间:2019-12-19 12:08:02

标签: azure-data-factory-2 azure-sql-data-warehouse

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

我知道Azure数据工厂可以实现相同的目标。但是使用Polybase的Azure DW不是最简单的选择并且具有成本效益吗?

2 个答案:

答案 0 :(得分:2)

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

它做得非常好,并且是建议的一种将数据加载到Synapse /仓库中的推荐方法,前提是您为数据加载选择了正确的DWU和资源类。

Polybase在拒绝错误行和一些不同的文件类型/分隔符(逗号,管道等)方面有很多不错的附加功能,但实际上就是这样。

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

但是,让我问您几个问题:

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

希望这有助于解释Polybase的位置,这通常至少是一个难题。如果您的ELT流程更轻巧,那么您可能会选择比Logic Apps,Azure Run Books等ADF更轻巧的选项。

HTH

答案 1 :(得分:2)

如果真的要使用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/