Python 中怎么使用Hadoop实现统计功能
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,Python 中怎么使用Hadoop实现统计功能,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Python map/reduce编写
千家信息网最后更新 2025年02月03日Python 中怎么使用Hadoop实现统计功能
Python 中怎么使用Hadoop实现统计功能,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
Python map/reduce
编写 map.py
#!/usr/bin/env pythonimport sysdef read_inputs(file): for line in file: line = line.strip() yield line.split()def main(): file = sys.stdin lines = read_inputs(file) for words in lines: for word in words: print("{}\t{}".format(word, 1))if __name__ == "__main__": main()
测试
echo "Hello world Bye world" | ./map.py Hello 1world 1Bye 1world 1
编写 reduce.py
#!/usr/bin/env pythonimport sysdef read_map_outputs(file): for line in file: yield line.strip().split("\t", 1)def main(): current_word = None word_count = 0 lines = read_map_outputs(sys.stdin) for word, count in lines: try: count = int(count) except ValueError: continue if current_word == word: word_count += count else: if current_word: print("{}\t{}".format(current_word, word_count)) current_word = word word_count = count if current_word: print("{}\t{}".format(current_word, word_count))if __name__ == "__main__": main()
测试
echo "Hello World Bye World Hello" | ./map.py | sort | ./reduce.pyBye 1Hello 2World 2
上面都是使用 Python 自己的特性去进行统计,下面展示使用 Hadoop 的流程来执行
使用 MapReduce 执行 Python 脚本
查找 hadoop-stream 库的位置
find ./ -name "hadoop-streaming*.jar" ./local/hadoop/share/hadoop/tools/sources/hadoop-streaming-2.7.3-test-sources.jar./local/hadoop/share/hadoop/tools/sources/hadoop-streaming-2.7.3-sources.jar./local/hadoop/share/hadoop/tools/lib/hadoop-streaming-2.7.3.jar
在 HDFS 上建立读入文件夹 input
hadoop -fs mkdir input
将待处理文件放入 HDFS
hadoop -fs put allfiles input
运行命令处理
hadoop jar ~/local/hadoop/share/hadoop/tools/lib/hadoop-streaming-2.7.3.jar -input input -output output -mapper ./map.py -reducer ./reduce.py
处理后的文件
Bye 1Goodbye 1Hadoop 2Hello 2World 2
关于Python 中怎么使用Hadoop实现统计功能问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
统计
文件
问题
处理
功能
更多
帮助
测试
解答
易行
简单易行
位置
内容
命令
小伙
小伙伴
文件夹
方法
流程
特性
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器角色管理工具
怀旧服怎么看最新服务器
网络安全三个一活动
阿里巴巴刷数据库
流量卡连接不到服务器
软件开发与学习
如何投诉软件开发公司
网络安全法指南
白帽子说网络安全
手机短信app软件开发制作公司
四川系统软件开发报价
宝可梦go活动服务器
深学网络安全十大绝招
网络安全专业有哪些大学有
应用软件开发如何收费
城市交通监控系统数据库设计
小型软件开发费首付多少钱
安卓虚拟定位软件开发
传音控股软件开发工程师
网络安全意思是什么
zoo服务器
无锡服务器维修上门服务
网络技术评估机构
云南app软件开发团队
软件开发运维的作用
鼎游票务软件开发公司
日立电梯服务器多少钱一台
神经网络与软件开发模型
打开服务器显示dns地址
环宇网络安全工程师