Hadoop Streaming二次排序

2021-07-09 03:26:45 字數 247 閱讀 4575

由於hadoop機器記憶體不足,所以需要把資料mapred進來跑。

這樣,就需要,同乙個key下的輸入資料是有序的,即:對於keya的資料,要求data1先來,之後data2再來……。所以需要對data進行二次排序。

-d stream.num.map.output.key.fields=2

這個,可以設定在map之後,進行partition時,使用前兩個tab的資料進行排序(包括key和data中的第一列)。

具體參考:

hadoop streaming記憶體超限解決方案

解決方案 1.提高記憶體上限 增加配置,將上限調高到8000m,這樣就解決了,如下 d stream.memory.limit 8000 2.將讀入詞表的操作轉到reducer階段完成 這樣需要點思路轉換,我需要對比的key是地理位置,詞表的key也是地理位置,可以在reducer階段將它們歸併起來...

Hadoop Streaming框架使用(二)

提交hadoop任務示例 hadoop home bin hadoop streaming input user test input output user test output file file home work myreducer.sh jobconf mapred.job.name f...

HadoopStreaming常用引數簡單說明

1 基本開發引數 input 輸入路徑,指的是hdfs上的路徑 output 輸出路徑,指的也是hdfs上的路徑 reducer python red.py 執行reduce過程的 的執行引數 file map.py 需要分發的檔案 將上述map reduce的 檔案分發到hdfs上 2 優化引數 ...