Spark小ORC条纹

时间:2018-01-14 14:49:24

标签: hadoop apache-spark presto amazon-athena

我们使用Spark来压缩点击流数据,然后以ORC + zlib格式将其写入S3,我尝试更改Spark中的许多设置但仍然创建的ORC文件的结果条带大小非常小(< 2MB)

到目前为止,我尝试过减少条纹大小的事情,

之前每个文件的大小都是20MB,使用coalesce我现在正在创建大小为250-300MB的文件,但每个文件仍有200个条带,即每个条带<2MB

通过将hive.exec.orc.default.stripe.size设置为67108864来尝试使用hivecontext而不是sparkcontext,但是spark并不尊重这些参数。

那么,关于如何增加正在创建的ORC文件的条带大小的任何想法?因为小条纹的问题是,当我们使用Presto查询这些ORC文件并且条带大小小于8MB时,Presto将读取整个数据文件而不是查询中的选定字段。

Presto Stripe问题相关主题:https://groups.google.com/forum/#!topic/presto-users/7NcrFvGpPaA

1 个答案:

答案 0 :(得分:0)

我在HDP社区平台上发布了同样的问题,我收到了以下回复,

“它与HIVE-13232相关(在Hive 1.3.0,2.0.1,2.1.0中已修复),但所有Apache Spark仍然使用Hive 1.2.1库。

你能试试HDP 2.6.3+(2.6.4是最新的)。 HDP Spark 2.2具有固定的配置单元库。“