【问题标题】:Apache Drill reading gz and snappy performanceApache Drill 读取 gz 和 snappy 性能
【发布时间】:2017-01-15 02:00:14
【问题描述】:

我正在使用 Apache Drill 1.8。对于我用 .csv 两个镶木地板文件制作的测试海豚。 CSV 大约 4GB 大,使用 gz 编解码器的 parquet 大约 120MB,使用 snappy 编解码器的第二个 parquet 大约 250GB。

由于 Spark 使用 snappy 作为默认编解码器,并且 snappy 的性能应该更快,我面临一个问题。

这是我在 Hadoop 上的块大小等文件:

  1. 使用活泼的编解码器:

  2. 使用 gz 编解码器:

我尝试在 snappy 编解码器上查询 Drill(默认情况下具有 snappy 编解码器)parquet 文件的时间约为 18 秒。 我尝试在 gz 编解码器上使用相同查询查询 Drill parquet 文件的时间约为 8 秒。

(选择5列的简单查询,按一排序,限一)

我现在有点困惑。使用 I/O 时 snappy 不是更高效吗?我是在某处犯错还是这就是它的工作原理。 如果有人可以向我解释这一点,我将非常感激,因为我在网上找不到任何有用的东西。 再次感谢您!

【问题讨论】:

  • 根据您尝试的数据量,您应该不会看到任何性能差异。检查查询配置文件页面以查看它花费更多时间的部分。发布查询配置文件,将尝试回答更多。

标签: hadoop apache-spark hdfs parquet apache-drill


【解决方案1】:

在您原来的帖子中,您说带有 snappy 文件的镶木地板是 250 GB,您的意思是 250 MB?

至少对于 HDFS,您希望 parquet 文件大小(行组)等于块大小。您可能会遇到问题,因为您的块大小为 128 MB,文件大小为 250 MB。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-29
    • 1970-01-01
    • 2020-01-29
    • 1970-01-01
    • 2015-04-30
    • 1970-01-01
    相关资源
    最近更新 更多