我正在改寫MongoDB map reduce作業,以改爲使用Hadoop(使用mongo-hadoop連接器),但是當我將兩個數據集映射到同一個集合時,它會覆蓋這些值使用它們的mongo的等價物:hadoop中的減少選項
{減少:「集合名」} - 如果文件存在於結果集,並在收舊給定的鍵,然後減少操作(使用指定的減少功能)將執行上這兩個值和結果將被寫入輸出集合。如果提供了一個finalize函數,這個函數也會在reduce之後運行。
如何使用mongo-hadoop完成?
我正在改寫MongoDB map reduce作業,以改爲使用Hadoop(使用mongo-hadoop連接器),但是當我將兩個數據集映射到同一個集合時,它會覆蓋這些值使用它們的mongo的等價物:hadoop中的減少選項
{減少:「集合名」} - 如果文件存在於結果集,並在收舊給定的鍵,然後減少操作(使用指定的減少功能)將執行上這兩個值和結果將被寫入輸出集合。如果提供了一個finalize函數,這個函數也會在reduce之後運行。
如何使用mongo-hadoop完成?
對於任何尋求此功能的人來說,即將支持多輸入。
更改的分支位於here。它做得非常好,我們正在生產中使用它。
Mongo-Hadoop目前只支持覆蓋目標集合。但是,可以將多個作業鏈接在一起,使您可以將MR輸出發送到一個新作業,該作業也可以從舊作品集中讀取。
如何連鎖多個工作? – Moox 2012-07-16 20:03:16
我研究了鏈接,但它們似乎只解釋瞭如何將輸出從最後一個作業直接輸送到新作業,而不是將第一個作業和另一個集合的輸出合併到新作業。 – Moox 2012-07-17 12:55:49