我们的要求是从 Blob 存储中获取数据并转换为其他表格形式。这可以通过使用 polybase 的 Sql DW 来实现。在这种情况下,Azure 数据工厂的真正作用是什么?
我知道 Azure 数据工厂可以实现相同的目标。但是,使用 Polybase 的 Azure DW 不是最简单且经济高效的选择吗?
我们的要求是从 Blob 存储中获取数据并转换为其他表格形式。这可以通过使用 polybase 的 Sql DW 来实现。在这种情况下,Azure 数据工厂的真正作用是什么?
我知道 Azure 数据工厂可以实现相同的目标。但是,使用 Polybase 的 Azure DW 不是最简单且经济高效的选择吗?
Polybase 只能真正做一件事 - 将数据加载到启用了 Polybase 的 Azure Synapse Analytics(以前称为 Azure SQL 数据仓库)或 SQL Server。更准确地说,Polybase 充当存储在存储或数据湖中的平面文件的虚拟化层,允许它们作为外部表在数据库中呈现,或者使它们可作为物理表加载到数据库中,例如通过 CTAS。
它做得很好,并且是推荐的将数据加载到 Synapse / Warehouse 的方法,假设您为数据加载选择了正确的 DWU 和资源类。
Polybase 在拒绝错误行和一些不同的文件类型/分隔符(逗号、管道等)方面有几个不错的额外功能,但实际上就是这样。
因此,如果您需要做的只是加载一些文件或放置一个虚拟化层,那么是的,您可以只使用 Polybase。
不过,让我问你几个问题:
希望这有助于解释 Polybase 的位置,这通常至少是一个难题。如果您有更轻量级的 ELT 流程,您可能会考虑比 ADF 更轻量级的选项,例如逻辑应用程序、Azure Run Books 等。
高温高压
从表面上看,如果它,肯定只使用 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/