我想运行聚合查询(例如,在列/colfam中,对于某些行键,值'1‘重复的次数是多少次。我想在压缩数据上运行这些查询,因为它们将提供更好的性能,我们可以完全跳过解压缩。
我目前正在使用Hbase的聚合客户端,它看起来像是(还没有检查源代码yet...can是错误的),Hbase使用它的b树索引查找行键,解压缩该块并按顺序读取数据。有办法跳过解压过程吗?
看起来红移( Redshift,ParAccel)也在以同样的方式进行聚合。
如何使HBase只通过处理压缩数据来计算计数。如果这是不可能的,是否还有其他列db提供此功能。
发布于 2014-03-24 14:38:21
Redshift使用“区域映射”以避免不必要的解压。每个列的min/max/count (加上其他几个)存储在每个压缩的1MB“块”中。
每个块的内容由排序键定义。如果您的查询与排序键对齐(并且可以从区域映射中得到答复),那么Redshift就不会不必要地解压数据。
以上都是AFAIK从读取文档和广泛使用。嗯,当然。
https://stackoverflow.com/questions/22116472
复制相似问题