sql - 创建多个文件以上传到雪花
问题描述
目前,我公司使用 SSIS 和 BCP 将数据从 SQL Server 导出为 CSV 文件。但是,我们只能为每个 SQL 表创建一个文件(由于 BCP 的限制)。这些文件中的大多数都非常大。如果我是正确的,它们太大而无法在将它们加载到 Snowflake 时获得最佳性能。在他们的网站上,他们声明我们应该使用多个 gzip 文件以提供最佳性能。
我想知道其他人是如何完成这项工作的?将 CSV 拆分为多个文件并压缩它们?在从 SSIS 导出期间可以执行此操作的任何好工具?
解决方案
我会保留使用 SSIS 导出大型 .csv 文件的当前进程,然后通过命令行运行 7zip 以在 SSIS 包中或通过 Powershell 为每个文本文件创建一个拆分 gzip 集。
-v 开关用于指定卷大小。
https://sevenzip.osdn.jp/chm/cmdline/switches/volume.htm
您可能能够在后面的块完成之前开始导入/上传已完成的块,以节省一些额外的时间,但我没有测试过。
推荐阅读
- node.js - 从 EJS 的视图中删除逻辑
- ios - 如何在 BLE PIN 输入弹出窗口中检测按钮操作
- javascript - 如何将对象的每个键作为与Javascript中的键同名的变量?
- php - php排序和分组
- c# - 为什么我使用 textBox1.AppendText 时文本框中没有出现换行符
- reactjs - 为什么酶测试在 React.js 中不起作用?
- hive - 根据条件设置 hive 变量
- docker - 如何使 docker 为基础映像中预先存在的文件更改仅生成差异层?
- firebase - request.body.result 在 firebase 代码中未定义
- parquet - 使用 Spark(CSV、Parquet)处理半非同质结构化文件