Hive Parquet配置

来源:互联网 发布:淘宝可以解绑支付宝 编辑:程序博客网 时间:2024/06/16 14:55

parquet的配置主要包括:
parquet.compression
parquet.block.size
parquet.page.size
等,详见:
https://github.com/Parquet/parquet-mr/blob/master/parquet-hadoop/src/main/java/parquet/hadoop/ParquetOutputFormat.java
这些配置在Hive里面直接set就好,比如:
set parquet.compression=snappy
但是block size比较难设置。

首先,关于parquet的数据格式:
https://github.com/Parquet/parquet-format
block size对应于row group size的,但是由不完全是同一个东西,
block size是grow group在内存中的buffer size,实际写到磁盘之后,并没有这么大。比如我就遇到,block size设置为512MB,然后通过metadata去读block size只有100多MB。
而且在hive中,如果你是通过另外一张表,通过insert into/overwrite …. select….来创建parquet的话,光设置parquet.block.size是没用的,还需要保证hive的split size够大:
http://blog.javachen.com/2013/09/04/how-to-decide-map-number/
http://blog.csdn.net/moon_yang_bj/article/details/17901371
也就是说,parquet.block.size、dfs.block.size(hadoop 2.x 中是dfs.blocksize)、mapred.max.split.size都要设大才行。

原创粉丝点击