azure - 如何在 Azure 数据仓库中对大型数据集执行数据工厂转换
问题描述
我们有使用 ADF 执行转换的数据仓库表。
如果我有一组 ADW 表,并且我需要对它们执行转换以将它们放回 ADW,我是否应该将转换保存到 Azure Blob 存储中?或直接进入目标表。
ADW 表超过 1 亿条记录。
使用 Blob 存储作为中间部分是否可以接受。
解决方案
是的,您最好使用使用 Blob 存储作为中间部分。
您不能将表从 SQL DW(Source) 直接复制到同一个 SQL DW(Sink)!如果你试过这个,你会遇到问题:
- 复制数据:数据映射出错,将数据复制到同一张表,不新建。
- 复制活动:复制活动需要表格。
如果要将 SQL DW 表中的数据复制到具有 Data Factor 的新表中,则至少需要两个步骤:
- 将数据从 SQL DW 表复制到 Blob 存储(创建 csv 文件)。
- 将这些 csv 文件加载到 SQL DW 并创建新表。
参考教程:
- 使用 Azure 数据工厂复制和转换 Azure Synapse Analytics(以前称为 Azure SQL 数据仓库)中的数据
- 使用 Azure 数据工厂复制和转换 Azure Blob 存储中的数据
数据工厂擅长传输大数据。参考数据工厂的复制性能。我认为它可能比SELECT - INTO Clause (Transact-SQL)更快。
希望这可以帮助。
推荐阅读
- python - 如何通过创建一个为其创建的每个子列保留父 ID 的列来将树结构 json 转换为 pandas 数据框?
- angular - 我创建了一个模板驱动的表单来使用 angular 11 和 json-server 添加产品
- java - 从英语音译到其他语言(全球和本地语言)
- google-cloud-platform - 将整个数据集从一个谷歌项目移动到另一个没有数据的谷歌项目
- java - androidx.appcompat.widget.SearchView 无法转换为 androidx.core.view.ActionProvider
- swift - 如何使用 SwiftSVG 中的 Swift 便捷初始化
- azure-active-directory - 在我的租户下的 Azure 门户中注册应用程序时,我可以限制访问特定的 MS 团队组吗?
- c++ - C++ unordered_map 没有匹配的成员函数来调用'find'
- reactjs - 在 Reactjs 中实现搜索过滤器的问题 - 触发问题
- node.js - AWS sdk 响应结构问题