【发布时间】:2015-09-08 06:00:28
【问题描述】:
我正在使用 Hive Action 通过 Oozie 执行查询。我将 TEZ 和 MR 设置为查询的执行引擎。如何设置最大可能的reducer 数量以执行查询?目前,我使用的是mapred.reduce.tasks,但它需要一个静态数字。
真正的问题是,当我在 hive CLI 上执行相同的查询时,Hive 选择的 reducer 数量是最佳的,而不是 1;那么我的 Oozie 工作缺少什么设置,它为所有查询选择 1 个减速器?
【问题讨论】:
-
Hive 表的大小是多少?
-
大小约为 150 GB。但是我在多个表上运行查询,不管表的大小,每个作业都只用 1 个 reducer 调用。
-
我猜减速器计数在 Oozie 上下文或 Oozie 使用的 hive-site.xml 中硬编码。我建议您在通过 Oozie 调用的 hive 脚本文件中添加具有相对值的
hive.exec.reducers.bytes.per.reducer属性。