如何在Azure数据仓库中对大型数据集执行数据工厂转换

如何在Azure数据仓库中对大型数据集执行数据工厂转换,azure,azure-storage-blobs,azure-table-storage,azure-data-factory,Azure,Azure Storage Blobs,Azure Table Storage,Azure Data Factory,我们有使用ADF执行转换的数据仓库表 如果我有一组ADW表,并且我需要对它们执行转换以将它们放回ADW,那么我应该将转换保存到Azure Blob存储中吗?或者直接进入目标表 ADW表超过了100Mil记录 使用Blob存储作为中间块是否是一种可接受的做法。我可以想出两种方法来实现这一点(它们不需要将数据移动到Blob存储中) 使用存储过程在SQL DW中执行转换,并使用ADF编排存储过程调用 使用ADF的数据流应用转换从SQL DW读取并写回SQL DW 是的,您最好使用Blob存储器作为中

我们有使用ADF执行转换的数据仓库表

如果我有一组ADW表,并且我需要对它们执行转换以将它们放回ADW,那么我应该将转换保存到Azure Blob存储中吗?或者直接进入目标表

ADW表超过了100Mil记录


使用Blob存储作为中间块是否是一种可接受的做法。

我可以想出两种方法来实现这一点(它们不需要将数据移动到Blob存储中)

  • 使用存储过程在SQL DW中执行转换,并使用ADF编排存储过程调用
  • 使用ADF的数据流应用转换从SQL DW读取并写回SQL DW

是的,您最好使用Blob存储器作为中间块

不能将表从SQL DW(源)直接复制到同一SQL DW(接收器)中!如果您尝试过此方法,您将遇到以下问题:

  • 复制数据:数据映射出错,将数据复制到同一个表中,而不是创建新数据
  • 复制活动:复制活动需要表
  • 如果要将数据从SQL DW表复制到具有数据因子的新表,至少需要两个步骤:

  • 将数据从SQL DW表复制到Blob存储(创建csv 文件)
  • 将这些csv文件加载到SQL DW并创建新表
  • 参考教程:

    数据工厂擅长传输大数据。参考资料。我想它可能比你快


    希望这有帮助。

    您希望如何对它们执行转换?创建新表以接收数据或回滚到表本身?向上插入到新表。谢谢。请确认您是否正在使用产品Azure Synapse Analytics(以前称为Azure SQL数据仓库)?这将有助于设置未标记的上下文。您还可以解释一下您想要进行的转换类型吗?也许有一些例子。我不确定我是否理解希望在SQL DW之外执行这些操作的原因。或者换句话说,为什么不在SQLDW中执行它们呢?是的。Synapse分析我们通常有标准的东西。查找、连接、计算字段、普通内容。在标准etl(即使用Talend)中,我们将利用Blob存储作为目标表的启动点,因为对于这种情况,批量执行插入要快得多。我不知道ADF是否解决了这个问题,或者我应该继续使用blob存储。查找、连接和计算字段都是数据库操作,为什么不在数据库中执行呢?你会为Synapse付出很多钱,为什么不使用它呢?在散列分布表和CTA上使用联接。当你完成时,考虑临时放大以进行处理和缩小。抱歉,混乱的列昂……我的意思是我从表中导出表B。