如何在MAP REDUCE中不檢查輸出路徑?

2021-09-21 05:10:58 字數 730 閱讀 5537

前言

如果在reduce中並沒有涉及到生成hdfs檔案,比如只是將一些資料寫入redis,那麼每次都要提供乙個不存在的output,真是挺麻煩的,有沒有機制可以讓map/reduce作業不要檢查輸出路徑?

檢查輸出路徑的機制

經常,我們的輸出格式是這樣的:

job.setoutputformatclass(textoutputformat.class);

跟蹤下textoutputformat,掃瞄下其中的方法,發現沒有檢查輸出路徑的方法。

向上檢查textoutputformat的父類fileoutputformat其中的方法,發現如下:

可以發現我們熟悉的提示文字「output directory *** already exists」

那麼如果我們提供乙個類mytextoutputformat extends textoutformat 並覆蓋這個方法,就可以達

到不用檢查輸出路徑了:

然後,設定下:

job.setoutputformatclass(mytextoutputformat.class);即可。

mapreduce中MAP數量如何控制?

一 果斷先上結論 1.如果想增加map個數,則設定mapred.map.tasks 為乙個較大的值。2.如果想減小map個數,則設定mapred.min.split.size 為乙個較大的值。3.如果輸入中有很多小檔案,依然想減少map個數,則需要將小檔案merger為大檔案,然後使用準則2。二 原...

如何在程式中延時

方法一 使用sleep函式,如延時2秒,用sleep 2000 方法二 使用sleep函式的不利在於延時期間不能處理其他的訊息,如果時間太長,就好象宕機一樣,利用coledatetime類和coledatetimespan類實現延時就不會出現那樣的問題 coledatetime start time...

如何在jupyter notebook中顯示目錄?

如何在jupyter notebook中顯示目錄?通過目錄,能很清楚看到文字的構架。下面就介紹jupyter notebook安裝目錄外掛程式的步驟。1.首先,在anaconda prompt anaconda3 裡執行 pip install jupyter contrib nbextension...