我们的要求是从Blob存储中获取数据并转换为其他表格格式。这可以通过使用polybase的Sql DW实现。在这种情况下,Azure数据工厂的真正作用是什么?
我知道Azure数据工厂可以实现相同的目标。但是使用Polybase的Azure DW不是最简单的选择并且具有成本效益吗?
答案 0 :(得分:2)
Polybase实际上只能做一件事-将数据加载到Azure Synapse Analytics(以前称为Azure SQL数据仓库)或启用了Polybase的SQL Server。更准确地说,Polybase充当存储在存储器或数据湖中的平面文件的虚拟化层,从而允许将它们作为外部表显示在数据库中,或使其可以作为物理表(例如通过CTAS)加载到数据库中。
它做得非常好,并且是建议的一种将数据加载到Synapse /仓库中的推荐方法,前提是您为数据加载选择了正确的DWU和资源类。
Polybase在拒绝错误行和一些不同的文件类型/分隔符(逗号,管道等)方面有很多不错的附加功能,但实际上就是这样。
因此,如果您需要做的只是加载一些文件或放置虚拟化层,那么可以使用Polybase。
但是,让我问您几个问题:
希望这有助于解释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/