Python 中怎么使用Hadoop实现统计功能
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,Python 中怎么使用Hadoop实现统计功能,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Python map/reduce编写
千家信息网最后更新 2025年12月02日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安全错误
数据库的锁怎样保障安全
软件开发合同尾款走借款合同
对智能互联网络技术的认知
向量数据库股票
软件开发管理课程资料
学校班内网络安全检查自检报告
北京项目软件开发需要多少钱
卸载数据库提示正在运行
再生资源供应链服务软件开发商
家庭与网络安全教育
中国网络技术普及
set数据库
易语言写小程序服务器
网络安全包括断卡吗
小学班级网络安全方案
网络安全的社会
山东有线用谁的服务器云主机
数据库中连接的条件
计算机网络技术赚钱吗
申请网络安全等保测评报告
构家互联网科技有限公司招聘
老肯科技互联网加
数据库重建索引作业要多久
普通主板装服务器系统没有驱动
中国科学院提供的土壤数据库
数据库中连接的条件
科技与农业互联网创业
小学生网络安全班队会ppt
服务器批量blast
奉化敏捷软件开发工具
广东智慧社区软件开发电话