首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    排序对parquet 文件大小的影响

    0 613G 不压缩,全局排序 1 157G zstd压缩,不排序 2 149G zstd压缩,局部排序( sort by ) 3 34G zstd压缩,全局排序 4 35G 针对上一个测试(34G...,大约可以节省 123G,78% 也取决于文件大小和小文件多少,文件越大小文件越小,压缩比越高 7 和 8,以及6 和 6.1 相比,理论上来说 8 的压缩性能比 7要好,但测试发现基本相同,源于文件大小超过了设置值...为什么排序可以减少存储空间 因为排序可以将相似的值放在一起,从而提供压缩效率( 因为压缩算法通常使用重复数据的概念来压缩数据,可以参考 霍夫曼编码 ) 排序可以减少字典编码的大小,因为它可以使相似的值具有相同的前缀...zstd是 基于哈夫曼编码和字典压缩的思想的 FSE 算法 压缩本质是重新编码 更进一步 在有压缩的前提下,排序一定会让存储空间降低吗?...不一定,因为要想通过排序让存储空间降低,则必须将相似的值放在一起,如果数据在排序键上没有很好的分布,那么排序可能会增加文件大小,反之则可以降低文件大小

    23400

    R中按照数字大小进行排序

    在R中有时会需要通过数字大小对某些数据进行排序。 不过R默认是按照字符大小顺序进行排序,如常见的OTU名称: OTU1,OTU2,OTU3,OTU10 ,OTU20......会被默认排序为: OTU1,OTU10,OTU2,OTU20,OTU3... 这在一些数据处理和画图过程非常不方便。...如果要按照数字排序为OTU1,OTU2,OTU10这种,可以有很多方法,本文举几种简单的例子: ---- 先读进一个OTU表~ otu = read.table(file = "otu.txt",sep...,header=T,check.names=F) # 行名为OTU的名字 name = rownames(OTU) 1. gtools包的mixedorder函数,一步到位直接对OTU名字中的数字排序...OTU名字去掉OTU只保留数字再排序: c = order(as.numeric(gsub("OTU","",name))) otu2 = otu[c,] 4.OTU名字中的OTU和数字分开,单独对数字排序

    2.7K51
    领券