我正在运行超过550 Gb数据的拉丁脚本。 减速机是默认值1.需要大约38分钟才能生成结果。 我想知道是否增加减速器的数量将更快地执行脚本知道mapper和reducer的用法
任何帮助将不胜感激。
另外,我想知道设置mapper和reducer的概念。
我正在运行超过550 Gb数据的拉丁脚本。 减速机是默认值1.需要大约38分钟才能生成结果。 我想知道是否增加减速器的数量将更快地执行脚本知道mapper和reducer的用法
任何帮助将不胜感激。
另外,我想知道设置mapper和reducer的概念。
是的,当然你可以有多个减速器。
不同的颜色代表不同的密钥。所有具有相同密钥的值都会显示给一个简化任务。
这意味着,你可以有多个减速机不同的密钥
请参考以下链接
您可以使用PIG提供的并行功能。请参阅此链接了解更多信息。 PIG Parallel Feature
增加减速器的数量肯定会有帮助(如果您正在执行的操作具有聚合)。由于实际的聚合发生在减少方面,因此运行多个减少器会提高性能。
您可以使用'并行'关键字来设置猪减速器的数量。 ex: A = LOAD'myfile'AS(t,u,v); B =组A,组B,组B,组B,组18,
映射器的数量取决于我们使用的输入和输入格式的大小。映射器的数量通常等于输入拆分的数量。
以前的答案不一定适合您的情况。确实,如果你有各种缩减键,而你的数据集并没有严重偏向其中一个键,而且洗牌和/或缩小阶段是你操作的瓶颈,并且你有多个核心可用作缩减器,那么添加更多的减速器将有所帮助。在Pig中,您可以指定要与PARALLEL
子句一起使用的编号。
作为暗示,有其中加入更多的减速不会帮助你的情况:
JOIN
期间发生这种情况,则可以使用USING 'skewed'
子句解决此问题。除了添加减速器之外,另一种使作业更快运行的方法是减少任何不必要的地图输出。所有映射输出都写入磁盘,然后分发给还原器,再次写入磁盘。磁盘I/O非常缓慢,如果不需要大量数据,请在映射阶段将其丢弃。例如,在Pig中,您可能只希望计算每个键的记录数。在这种情况下,除键外的所有数据都应该丢失。
通常,映射器的数量是自动选择的。如果你觉得mappers的数量太小,你可以使用一些技巧。例如,您可能会发现Pig在将输入文件组合在一起过于积极,因此您只有一两个映射器需要很长时间。在这种情况下,您可以将SET pig.maxCombinedSplitSize
设置为更大的数字。但通常,映射器的数量超出了你的控制范围。
要使用的还原器的数量取决于您可以使用的资源(即一次可以使用多少个还原器?如果您的作业占用了群集中的所有还原器,很长一段时间?)和你的数据的性质(即它是否严重倾向于一个缩减密钥?)。还要注意,每个reducer都有一个输出文件,所以在某些情况下,更多reducer可能会有问题。
如果您需要更详细的解释请告诉我 – Backtrack