【问题标题】:To speed up hive process, how to adjust mapper and reducer number using tez为了加快 hive 进程,如何使用 tez 调整映射器和减速器数量
【发布时间】:2019-01-31 11:33:36
【问题描述】:

我尝试了使用 tez 处理大数据(约 150GB)的过程(句子的单词标注),但问题是花了这么多时间(1 周或更长时间),然后

我试图指定映射器的数量。 虽然我设置了 mapred.map.tasks =2000, 但我无法停止将映射器设置为 150 左右, 所以我不能做我想做的事。

我在 oozie 工作流文件中指定映射值并使用 tez。

如何指定mapper的数量?

最后我想加快进程,不用tez也没关系。

另外,我想用reducer来统计标记的句子,太费时间了。

而且,我还想知道如何调整内存大小以使用每个映射器和减速器进程。

【问题讨论】:

标签: hadoop hive apache-tez


【解决方案1】:

当 TEZ 是执行引擎时,为了在 Hive 查询中手动设置映射器的数量,可以使用配置 tez.grouping.split-count...

...set tez.grouping.split-count=4 将创建 4 个映射器

https://community.pivotal.io/s/article/How-to-manually-set-the-number-of-mappers-in-a-TEZ-Hive-job


但是,总的来说,您应该在开始 tuning the Tez settings 之前优化存储格式和 Hive 分区。不要尝试在 Hive 中处理数据 STORED AS TEXT。首先将其转换为 ORC 或 Parquet。

如果 Tez 不适合您,您可以随时尝试 Spark。加上标签句子可能是你可以在某个地方找到的 Spark MLlib worlflow

【讨论】:

  • 你知道如何调整reducer的数量和分配的内存大小吗?
  • mapreduce.job.reduces,以及控制映射器容器的相同内存设置应该控制减速器
猜你喜欢
  • 2019-01-02
  • 1970-01-01
  • 1970-01-01
  • 2014-09-20
  • 1970-01-01
  • 2013-11-09
  • 2010-10-23
  • 2020-02-18
  • 1970-01-01
相关资源
最近更新 更多