我有一个集群,其纱线资源约为 15 TB。我正在尝试通过 Hive 提交查询。我在 yarn 上的默认容器大小为 4GB。为该查询分配的映射器数量约为 1000。我的纱线队列中总共分配了 10% 的资源。因此,在单个时间点只会分配 430 个容器。每个映射器总共分配了 1 个容器。HDFS 上的块大小为 128 MB。我怎样才能优化查询。
问问题
804 次
1 回答
0
您提到了内存设置,这听起来不错,因此您优化查询的下一步(因为您没有提供)是
- 另外调整 Tez 容器
- 使您的 HDFS 输入文件大约为 HDFS 块的大小。
- 如果您的队列已满,请使用其他队列。(
SET tez.queue.name
) WHERE
根据您的子句 将 Hive 表分区到最有意义的列上。- 确保数据存储为带 ZLib 压缩的 ORC。
- 如果可能,使用 LLAP
于 2017-11-05T21:05:47.577 回答