1

我有一个集群,其纱线资源约为 15 TB。我正在尝试通过 Hive 提交查询。我在 yarn 上的默认容器大小为 4GB。为该查询分配的映射器数量约为 1000。我的纱线队列中总共分配了 10% 的资源。因此,在单个时间点只会分配 430 个容器。每个映射器总共分配了 1 个容器。HDFS 上的块大小为 128 MB。我怎样才能优化查询。

4

1 回答 1

0

您提到了内存设置,这听起来不错,因此您优化查询的下一步(因为您没有提供)是

  • 另外调整 Tez 容器
  • 使您的 HDFS 输入文件大约为 HDFS 块的大小。
  • 如果您的队列已满,请使用其他队列。( SET tez.queue.name)
  • WHERE根据您的子句 将 Hive 表分区到最有意义的列上。
  • 确保数据存储为带 ZLib 压缩的 ORC。
  • 如果可能,使用 LLAP
于 2017-11-05T21:05:47.577 回答