0

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

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

我在 oozie 工作流文件中指定地图值并使用 tez.

如何指定映射器的数量?

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

另外,我想用reducer计算标记的句子,也需要很多时间。

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

4

1 回答 1

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


但是,总体而言,您应该在开始调整 Tez 设置之前优化存储格式和 Hive 分区。不要尝试STORED AS TEXT在 Hive 中处理数据。首先将其转换为 ORC 或 Parquet。

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

于 2018-08-25T03:59:58.557 回答