943
微信
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-阿里云