我正在運行超過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