apachedrill读取gz和snappy性能

5jvtdoz2  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(341)

我使用的是ApacheDrill1.8。为了测试海豚,我用了两个Parquet文件。csv大约4gb大,Parquet地板与gz编解码器120mb和第二个Parquet地板与snappy编解码器约250gb大。
由于spark使用snappy作为默认的编解码器,而且snappy的性能应该更快,所以我面临一个问题。
这是我在hadoop上的块大小等文件:
使用snappy编解码器:

使用gz编解码器:

我尝试在snappy codec上查询drill(默认情况下有snappy codec)中的Parquet地板文件的时间大约是18秒。当我试图用同样的查询在gz编解码器上查询钻 parquet 文件的时间大约是8秒。
(这是一个简单的查询,选择5列,按1排序,限制为1)
我现在有点困惑。snappy的i/o不是更高效吗?我是不是在哪里出错了,或者就是这样。如果有人能给我解释,我会非常感激,因为我在网上找不到任何有用的东西。再次感谢你!

bn31dyow

bn31dyow1#

在你原来的帖子里你说用snappy文件Parquet地板是250gb,你是说250mb吗?
至少对于hdfs,您希望Parquet文件大小(行组)等于块大小。可能有问题,因为块大小为128 mb,文件大小为250 mb。

相关问题