Hadoop Streaming__Hadoop_開發人員指南_E-MapReduce-阿裏雲
python 寫hadoop streaming作業
mapper代碼如下
#!/usr/bin/env python
import sys
for line in sys.stdin:
line = line.strip()
words = line.split()
for word in words:
print '%st%s' % (word, 1)
reducer代碼如下
#!/usr/bin/env python
from operator import itemgetter
import sys
current_word = None
current_count = 0
word = None
for line in sys.stdin:
line = line.strip()
word, count = line.split('t', 1)
try:
count = int(count)
except ValueError:
continue
if current_word == word:
current_count += count
else:
if current_word:
print '%st%s' % (current_word, current_count)
current_count = count
current_word = word
if current_word == word:
print '%st%s' % (current_word, current_count)
假設mapper代碼保存在/home/hadoop/mapper.py, reducer代碼保存在/home/hadoop/reducer.py , 輸入路徑為hdfs文件係統的/tmp/input,輸出路徑為hdfs文件係統的/tmp/output。則在E-MapReduce集群上提交下麵的hadoop命令
hadoop jar /usr/lib/hadoop-current/share/hadoop/tools/lib/hadoop-streaming-*.jar -file /home/hadoop/mapper.py -mapper mapper.py -file /home/hadoop/reducer.py -reducer reducer.py -input /tmp/hosts -output /tmp/output
最後更新:2016-11-23 16:04:18
上一篇:
Pig 開發手冊__Hadoop_開發人員指南_E-MapReduce-阿裏雲
下一篇:
HBase 開發手冊__開發人員指南_E-MapReduce-阿裏雲
處理-數據清洗/ETL__最佳實踐_日誌服務-阿裏雲
接收刪除消息__隊列消息操作_快速入門_消息服務-阿裏雲
有關Multipart命令__osscmd_常用工具_對象存儲 OSS-阿裏雲
全係Skylake 25G網絡 阿裏雲宣布華北5地域十月開服
實時性能頁__性能監控_DMS for Redis_用戶指南(NoSQL)_數據管理-阿裏雲
客戶端工具使用__快速入門_雲數據庫 HybridDB-阿裏雲
2016年10月12日安全管家控製台發布__產品升級更新_安全管家服務-阿裏雲
手動建站(Windows環境)__建站教程_雲服務器 ECS-阿裏雲
接入後HTTPS異常(SNI問題)__排錯手冊_Web 應用防火牆-阿裏雲
啟動作業__作業管理_Console參考手冊_數據集成-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲