我需要把多個MapReduce的工作流,以便在大數據集進行一些計算。多個MapReduce作業
我打算以加快整體工作使用多個減速爲每個作業。作爲工作流調度程序,我使用Oozie。
這裏有一個例子,以澄清我的問題: 讓說,我有兩個文件
File 1: File 2:
A B 1 A B 3
A C 4 C D 6
B D 2 B D 1
我想有兩個映射器和兩個減速,並得到了MapReduce工作的輸出如下:
Output:
A B 4
A C 4
B D 3
C D 6
但是,這是不是在所有我所得到的,而不是我有部分款項。
這是我想的事情。
因爲我對每個MapReduce工作多減速器,下一個作業的輸入拆分成幾個文件。這些文件被提供給映射器,然後映射器將其輸出發送到reducer。看起來,映射器將它們的輸出發送到reducers,而不用等待整個輸入被處理,並用name1排序,例如,作爲鍵。
我讀過有關使用多個文件作爲輸入幾個線程,我不認爲這是執行地圖方聯接的問題。也許它做的分區,但我不完全理解包括在什麼分區。
有沒有辦法把它發送到減速前幾個映射器的輸出進行排序?或者我可以告訴Oozie合併多個reducer的輸出,以便只有一個文件作爲下一個MapReduce Job的輸入?
謝謝你的回答,但我的分隔符確實是一個選項卡,即使我在我的問題中使用了空格作爲分隔符。我用分區器解決了我的問題。 –