Azure synapse 中的两次复制(暂存复制 + 普通复制)如何比普通复制更优化

Posted

技术标签:

【中文标题】Azure synapse 中的两次复制(暂存复制 + 普通复制)如何比普通复制更优化【英文标题】:How two times copy (staging copy + normal copy) in Azure synapse is more optimized then normal copy 【发布时间】:2021-04-19 14:54:59 【问题描述】:

我有一个用例,我应该在 Azure 中优化我的数据源与 PolyBase 不兼容的复制活动(例如:Oracle DB)。 Here,他们说:

如果 PolyBase 最初不支持您的源数据存储和格式,请改用 PolyBase 功能使用暂存副本。分阶段复制功能还为您提供更好的吞吐量。它会自动将数据转换为与 PolyBase 兼容的格式,将数据存储在 Azure Blob 存储中,然后调用 PolyBase 将数据加载到 Azure Synapse Analytics。

    我在做什么: copy from source (oracle for example) to sink (Azure synapse)

    Azure 所说的,正如 here 所解释的: copy source (oracle for example) to staging, then copy from staging to sink (Azure synapse Analytics)

我的问题是:案例 2 如何比我的案例 1 更优化(更快)?

【问题讨论】:

【参考方案1】:

当我们将数据从 staging 复制到 sink 时,实现了 polybase 更快,使整个操作更快。对于选项 1,使用了 bulkinsert。写入 blob 也总是比写入 sink 快。

【讨论】:

我明白你的意思,但最后对于我们复制到接收器的两个选项,3 步如何比 2 步复制更快,tbh 我没有对样本数据进行测试,但什么是天蓝色说到使用 polybase 让我很感兴趣

以上是关于Azure synapse 中的两次复制(暂存复制 + 普通复制)如何比普通复制更优化的主要内容,如果未能解决你的问题,请参考以下文章

使用 ADF 将 azure blob 文件复制到 azure synapse

Azure 数据工厂中的 Azure Synapse 存储过程:是同步调用吗?

将数据从 Azure SQL 数据库实时复制到 Synapse

我正在尝试在 azure synapse 中创建链接服务(休息),但我没有授权

将数据从 ADLS Gen2 加载到 Azure Synapse 时出错

需要 '/n' 但被解析为新行 - Azure Synapse Analytics