首页 > 解决方案 > 创建多个文件以上传到雪花

问题描述

目前,我公司使用 SSIS 和 BCP 将数据从 SQL Server 导出为 CSV 文件。但是,我们只能为每个 SQL 表创建一个文件(由于 BCP 的限制)。这些文件中的大多数都非常大。如果我是正确的,它们太大而无法在将它们加载到 Snowflake 时获得最佳性能。在他们的网站上,他们声明我们应该使用多个 gzip 文件以提供最佳性能。

我想知道其他人是如何完成这项工作的?将 CSV 拆分为多个文件并压缩它们?在从 SSIS 导出期间可以执行此操作的任何好工具?

标签: sqlsql-serverssissnowflake-cloud-data-platformbcp

解决方案


我会保留使用 SSIS 导出大型 .csv 文件的当前进程,然后通过命令行运行 7zip 以在 SSIS 包中或通过 Powershell 为每个文本文件创建一个拆分 gzip 集。

-v 开关用于指定卷大小。

https://sevenzip.osdn.jp/chm/cmdline/switches/volume.htm

您可能能够在后面的块完成之前开始导入/上传已完成的块,以节省一些额外的时间,但我没有测试过。


推荐阅读