【问题标题】:Optimal compression of csv files with repeated rows具有重复行的 csv 文件的最佳压缩
【发布时间】:2013-07-15 04:16:23
【问题描述】:

我想知道是否有一些最佳方法来压缩具有数百万行重复/按顺序重复的 csv 文件。每行有 4-5 个元素。唯一的行只有几百个,但是因为每一个都出现了很多次,所以文件的整体大小很大。

我不熟悉 gzip、bzip2 等工具中使用的详细算法,但我在思考是否有任何方法可以指导 gzip 或 bzip2 这种模式。例如,如果我有 100 万行 a、b、c、d、e,那么在内部这可以最佳地表示为 abcde 的条目,如果重复次数(例如 abcde 重复 2 M 次) )。这将比说更优化,因为压缩算法尝试压缩 abcdeabcdeabcde...。我正在寻找一种通用的方法来优化案例,例如这些数据采用排序的表格格式并包含重复的行/元组。

提前致谢。

【问题讨论】:

    标签: linux unix compression gzip bzip2


    【解决方案1】:

    您应该创建自己的自定义格式。比如:

    0 -> 文件结束 1 -> 行跟随(以行尾自动终止) 2..n -> 多次重复上一行

    数字可以是一个变长整数,其中字节的高位为零表示整数的结尾,高位为1表示还有更多字节。然后将每个字节的低七位连接起来形成整数。如此小的重复计数(

    一旦你以这种方式删除了重复的行,然后用 gzip 压缩。

    【讨论】:

      猜你喜欢
      • 2014-11-09
      • 2015-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多