2013-10-08 45 views
0

在第一張map reduce工作中,我正在處理一個HBase表並輸出一個較小的rowkeys列表。我需要使用這個字符串列表來處理另一個從其他HBase表中拉出並且輸出到另一個HBase表的另一個map reduce作業。存儲和訪問第一張地圖縮小作業輸出的正確方法是什麼?如何使用地圖縮小輸出作爲另一個地圖縮小作業的輸入?

+0

如果從第一MapReduce工作的輸出不是很大,你可以把分佈式緩存,這將提供給第二MapReduce工作使用輸出。 – Chaos

回答

0

的Hadoop不支持一個MR作業的輸出流到另一個。因此,第一個MR作業的輸出必須存儲在HDFS(或其他持久性存儲器)中,然後在第二個MR作業中讀取。使用OozieAzkaban創建一個DAG作業。對於簡單的工作流程,請使用Hadoop的JobControl API。

Apache Tez這仍然是在孵化階段允許跨越MR任務數據的流。如前所述,Tez仍處於孵化器階段,所以謹慎使用它。