Hive - 跨映射器随机分发记录
Hive - Randomly Distribute Records Across Mappers
我正在寻找类似 DISTRIBUTE BY
的东西,但用于映射器而不是缩减器。
我有一个仅限地图的转换作业,我是 运行,并且正在使用
SET mapred.min.split.size=2100000;
SET mapred.max.split.size=2100000;
控制分配的映射器数量。总分区大小约为 800MB,作业确实分配了大约 400 个映射器,这似乎与拆分大小一致。我遇到的问题是大约 390 个映射器在 < 1m 内完成并显示处理了 0 条记录。剩下的 10 个映射器完成了整个工作,需要几天才能完成。
有没有一种方法可以强制映射器获取(大约)相等数量的记录,从而不会发生这种情况?
已修复。显然,被查询的 table 在 HDFS 中只有 10 个文件,因此只能使用 10 个映射器。
我正在寻找类似 DISTRIBUTE BY
的东西,但用于映射器而不是缩减器。
我有一个仅限地图的转换作业,我是 运行,并且正在使用
SET mapred.min.split.size=2100000;
SET mapred.max.split.size=2100000;
控制分配的映射器数量。总分区大小约为 800MB,作业确实分配了大约 400 个映射器,这似乎与拆分大小一致。我遇到的问题是大约 390 个映射器在 < 1m 内完成并显示处理了 0 条记录。剩下的 10 个映射器完成了整个工作,需要几天才能完成。
有没有一种方法可以强制映射器获取(大约)相等数量的记录,从而不会发生这种情况?
已修复。显然,被查询的 table 在 HDFS 中只有 10 个文件,因此只能使用 10 个映射器。