Azure Synapse加载:将大型压缩文件拆分为较小的压缩文件

问题描述

我正在从Azure Synapse收到此建议。

推荐详情 我们检测到您可以通过拆分存储帐户中暂存的压缩文件来提高负载吞吐量。一个好的经验法则是将压缩文件分割成60个或更多,以最大程度地提高负载的并行性。 Learn more

推荐使用Azure的文档。

Preparing data in Azure Storage
To minimize latency,colocate your storage layer and your sql pool.

When exporting data into an ORC File Format,you might get Java out-of-memory errors when there are large text columns. To work around this limitation,export only a subset of the columns.

All file formats have different performance characteristics. For the fastest load,use compressed delimited text files. The difference between UTF-8 and UTF-16 performance is minimal.

Split large compressed files into smaller compressed files.

我要了解的是如何将大型压缩文件拆分为较小的压缩文件?有没有选择的余地?谢谢!

解决方法

您可以查看这篇文章How to maximize COPY load throughput with file splits

建议一次加载多个文件以进行并行处理,并使用COPY语句使用SQL池最大化批量加载性能。

以下documentation中概述了文件拆分指南,该博客介绍了如何使用数据管道中的Azure数据工厂映射数据流轻松拆分驻留在数据湖中的CSV文件。