- 博客(3)
- 收藏
- 关注
原创 ORC 查询流程
ORC 文件格式ORC 文件分成多个 Stripe,每个 Stripe 里包括这个文件所有列的一部分数据,每个 Stripe 中的各个列的点数都一样,是可以对齐的。只在 RowGroup 层做过滤,每个 RowGroup 默认有 10000 行元组。过滤完一个 RowGroup 就都读出来了。十分粗粒度,不能保证读出来的每一行都满足条件。ORC 读取流程OrcFile.createRead...
2019-05-17 20:50:14 1116
原创 Parquet 编码方式
虽然 Parquet 的文档里写了很多编码方式 (https://github.com/apache/parquet-format/blob/master/Encodings.md ),但实际上 Parquet 只支持两种编码:Delta Encoding,Dictionary Encoding。而且不能一起使用。(https://issues.apache.org/jira/browse/PAR...
2019-05-16 18:55:01 2408 5
原创 Parquet 查询流程
总体流程:根据用户给定的 Filter,先对文件中所有 RowGroup (Block) 过滤一遍,留下满足要求的 RowGroup。对这些 RowGroup 中涉及到的所有 Chunk 都读出来,对其中的 Page 一个一个解压缩,拼成一个一个 Record,再进行过滤。细节:不管一个 page 是否满足条件,都会被反序列化。将多个 page 的东西拼成一个 record,并进行过滤,过...
2019-05-15 21:14:19 1669
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人