Azure 数据工厂复制数据速度慢
Azure Data Factory copy data is slow
源数据库:PostgreSQL 托管在 Azure VM D16s_v3
目标数据库:SQL 托管在 Azure VM D4s_v3 上的服务器开发人员版本
源数据库大小约为 1TB
目标数据库为空,现有架构与源数据库相同
吞吐量仅为 1mb/s。没有任何帮助。 (我选择了最大 DIU)SQL 服务器此时没有任何键或索引。
批量大小为 10000
见截图:
将批量大小增加到 1000000。
如果您正在使用 TableName 选项,那么您应该在数据集下拉框中包含 Table。如果您使用 SQL 查询进行提取,请检查内部数据集连接,单击编辑并删除 table 名称。
我遇到了同样的问题。如果您 select 查询选项并在数据集中提供 tablename,那么您会混淆 Azure Datafactory 并使其难以决定选择哪个选项。
我在使用 ADF 将数据从本地 Oracle 源复制到 Azure SQL 数据库接收器时遇到了类似的问题。通过 SSIS 执行的完全相同的工作大约快 5 倍。我们开始怀疑数据类型有问题,因为如果我们将所有高精度 Oracle NUMBER 列都转换为精度较低或整数之类的东西,问题就会消失。
事情变得如此糟糕,我们就此向 Microsoft 提出了一个案例,我们最担心的事情得到了证实。
Azure 数据工厂运行时十进制类型的最大精度为 28。如果来自源的 decimal/numeric 值具有更高的精度,ADF 将首先将其转换为字符串。字符串转换代码的性能很糟糕。
检查您的来源是否有任何高精度数字数据,或者如果您没有明确定义架构,请查看您是否可能不小心使用了字符串。
源数据库:PostgreSQL 托管在 Azure VM D16s_v3 目标数据库:SQL 托管在 Azure VM D4s_v3 上的服务器开发人员版本 源数据库大小约为 1TB 目标数据库为空,现有架构与源数据库相同
吞吐量仅为 1mb/s。没有任何帮助。 (我选择了最大 DIU)SQL 服务器此时没有任何键或索引。
批量大小为 10000
见截图:
将批量大小增加到 1000000。
如果您正在使用 TableName 选项,那么您应该在数据集下拉框中包含 Table。如果您使用 SQL 查询进行提取,请检查内部数据集连接,单击编辑并删除 table 名称。
我遇到了同样的问题。如果您 select 查询选项并在数据集中提供 tablename,那么您会混淆 Azure Datafactory 并使其难以决定选择哪个选项。
我在使用 ADF 将数据从本地 Oracle 源复制到 Azure SQL 数据库接收器时遇到了类似的问题。通过 SSIS 执行的完全相同的工作大约快 5 倍。我们开始怀疑数据类型有问题,因为如果我们将所有高精度 Oracle NUMBER 列都转换为精度较低或整数之类的东西,问题就会消失。
事情变得如此糟糕,我们就此向 Microsoft 提出了一个案例,我们最担心的事情得到了证实。
Azure 数据工厂运行时十进制类型的最大精度为 28。如果来自源的 decimal/numeric 值具有更高的精度,ADF 将首先将其转换为字符串。字符串转换代码的性能很糟糕。
检查您的来源是否有任何高精度数字数据,或者如果您没有明确定义架构,请查看您是否可能不小心使用了字符串。