将数据集上传至Google Drive:压缩为Zip文件能否减小上传体积?
针对大数据集上传Google Drive的压缩方案
压缩成Zip能否减小体积?
不一定,得看数据集里的文件类型:
- 对于未压缩的文本、CSV、JSON、原始二进制文件(如RAW图像),Zip(尤其是用最高压缩级别)能显著减小体积,最多可压缩到原大小的30%-70%。
- 对于已压缩格式(如JPG、PNG、MP4、已压缩的Parquet),Zip几乎无法再压缩,甚至可能因为添加压缩头导致体积略增,这种情况没必要用Zip打包。
针对数据集的可行无损压缩方法
不用依赖图像降质这类有损操作,试试这些无损方案:
选对压缩格式与参数
别局限于默认Zip,用更高压缩率的格式:- 7-Zip的
7z格式:支持LZMA2算法,压缩率远高于Zip,命令行示例:7z a -t7z -mx=9 dataset.7z ./dataset_folder(-mx=9是最高压缩级别,耗时会更长,但体积最小)。 - 若需要Google Drive在线预览部分文件,还是用Zip但调最高级别:
zip -9 dataset.zip ./dataset_folder。
- 7-Zip的
针对数据类型优化压缩
- 结构化数据(CSV/JSON):先转成Parquet或Feather列存格式,这类格式自带高效压缩,再打包。比如用Pandas转换:
df.to_parquet('dataset.parquet', compression='snappy'),Snappy兼顾速度和压缩率,gzip则能获得更高压缩率。 - 纯文本数据集:用bzip2或xz工具,比Zip的Deflate算法更高效,比如
xz -9 dataset.txt。 - 未压缩二进制数据(RAW图像、未压缩音频):直接用7z的最高级别压缩,能大幅缩小体积。
- 结构化数据(CSV/JSON):先转成Parquet或Feather列存格式,这类格式自带高效压缩,再打包。比如用Pandas转换:
分卷压缩
若单压缩包还是太大,分成多个小卷上传,7-Zip命令示例:7z a -t7z -mx=9 -v10G dataset.7z ./dataset_folder(分成10GB一卷),上传到Drive后解压会自动合并。清理重复文件
先检查数据集里的重复文件,用fdupes工具批量删除:fdupes -dN ./dataset_folder(-dN自动删除重复项,操作前记得备份),减少无效体积后再压缩。增量同步压缩
如果后续还要更新数据集,用rclone工具配合Google Drive,支持增量同步(只传变化的文件),还能在传输时压缩:rclone sync ./dataset_folder remote:dataset_folder --compress,避免每次传完整数据集。
内容的提问来源于stack exchange,提问作者Mina
相关产品推荐
相关产品推荐

