条带与批处理ORC中的分区和镶木地板中的分区

时间:2019-01-31 16:20:30

标签: bigdata parquet orc

我是大数据的新手,试图从更好的查询执行角度了解不同的文件格式,同时又想了解有关ORC和Parquet的文件布局的更多信息,遇到了以下术语,并希望验证我的理解。 / p>

  1. 条纹-根据我的理解,条纹是属于同一数据集的一组行,例如,如果我们在某个国家/地区拥有不同国家/地区的数据 文件中,每个国家/地区的数据都在一个Stripe中,这有助于减少从磁盘传输到内存的数据量,因为不相关的Stripes可以使用谓词下推来跳过。

  2. VectorizedRowBatch,这有助于对列数据进行矢量化以进行有效的CPU处理。它逐批处理。在这种情况下,我无法理解Stripes&Batch之间的区别。据我了解,条带化有助于减少从磁盘传输到内存的数据量,而Batch则可以使用矢量化方法并行处理记录。

3.Stripes仅特定于ORC文件格式,Parquet文件的类似概念是“ Partitions”,它是存储在RowGroups中的相关数据。这有助于谓词下推。

对于Parquet,我们没有向量化支持,这意味着ORC比Parquet更好,可以提高CPU利用率。

如果我对上述要点的理解有误,请纠正我。

0 个答案:

没有答案