Hadoop 3.4.0 项目实战

1环境基于 上一篇搭建

高可用分布式集群

2  官方提供MapReduce程序

#评估圆周率

cd  /data/hadoop/share/hadoop/mapreduce/
hadoop  jar  hadoop-mapreduce-examples-3.4.0.jar  pi 2 6

 

 

 3 实例项目分析1

#预分析的文件如,如单词统计

#

#上传文件到hdfs
hdfs dfs  -put word.txt /test/01/
#可以先测试下,在运行计算
[root@master11 01]# cat word.txt   |  python  m.py |python r.py
foo	1
quux	1
labs	1
foo	1
bar	1
quux	1
good	1
six	1
good	1
foo	2
quux	1
labs	1
foo	1
bar	1
quux	1
good	1
six	1
good	1
foo	1
# hadoop jar /data/hadoop/share/hadoop/tools/lib/hadoop-streaming-3.4.0.jar  -D stream.non.zero.exit.is.failure=false -mapper /data/test/01/m.py  -reducer /data/test/01/r.py   -input /test/01/  -output /test/output1/

 

 #拷贝文件到服务器本地

hadoop fs -copyToLocal /test/output1/part-00000 /root/part-00000
#查看
[root@master11 ~]# cat  part-00000 
bar	2
foo	6
good	4
labs	2
quux	4
six	2
[root@master11 01]# cat m.py 
#!/usr/bin/env python  import sys  for line in sys.stdin:  line = line.strip()  words = line.split()  for word in words:  print '%s\t%s' % (word, 1)
[root@master11 01]# cat r.py 
#!/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 '%s\t%s' % (current_word, current_count)  current_count = count  current_word = word  if current_word == word:  print '%s\t%s' % (current_word, current_count)

 

4项目实战分析2,nginx日志 IP计数

 

hdfs dfs  -put t.log /test/01/
#执行计算
hadoop jar /data/hadoop/share/hadoop/tools/lib/hadoop-streaming-3.4.0.jar  -D stream.non.zero.exit.is.failure=false -mapper /data/test/01/map.py  -reducer /data/test/01/red.py   -input /test/01/t.log  -output /test/output2/

#下载
hadoop fs -copyToLocal /test/output2/part-00000 /root/part-00000
#查看

 

[root@master11 01]# cat  map.py 
#!/usr/bin/python
import sys
import re
for line in sys.stdin:  ipaddress=re.compile(r'([\d.]*)')match=ipaddress.match(line)  if match:ip=match.group(1)print ' %s\t%s' % (ip, 1)
[root@master11 01]# cat red.py 
#!/usr/bin/python
#-*-coding:UTF-8 -*-
import sys
import os
import string
res = {}
for line in sys.stdin:skey=line[0:-1]if(res.has_key(skey)==False): res[skey]=0res[skey]=res[skey]+1
for key in res.keys():print key+"\t"+str(res[key])

5  欢迎同学们一起交流

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/13046.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SOLIDWORKS 2024云服务新功能

一、简单的分享一下,在线观看,轻松标记 在达索系统SOLIDWORKS 2024云服务中,您只需在达索系统SOLIDWORKS中点击按钮,就可以将当前的设计分享给其他人,无论是客户、供应商还是团队内部成员。共享的用户只要打开浏览器里…

一本专业130+总分400+上海交通大学819考研经验上交电子信息与通信工程上岸,真题,大纲,参考书。

今年专业课819信号系统与信号处理130,总分400,复试表现中规中矩(初试分数查到才开始复习复试,希望大家汲取教训,初试考完就可以录取开始准备复试),交大初试比重很高,良心学校&#x…

ASP.NET在线毕业论文提交系统的设计与实现

摘 要 本设计就很好的解决了上面的问题,它不但能实现毕业生论文的在线提交;还能给教师一定的权限,以在线的方式对自己指导的学生的论文进行审核;并且管理员还可以方便的将每个学生的论文信息按统一的论文排版本格式导出成word文…

洗衣洗鞋店做小程序有什么优势?

互联网洗衣洗鞋小程序闪亮登场,想知道这款小程序有何魅力吗? 如今,众多商家纷纷推出预约上门洗鞋服务,💁‍♀️并倾力打造洗鞋小程序,旨在拓展线上销售渠道。🌟那么,这款洗鞋小程序究…

网络配置的加密存储

随着数据泄露事件的增加,扰乱了公司的正常工作周期,企业遭受了损失。事实上,数据泄露可以通过存储加密来控制,存储加密是防止黑客对网络数据库造成严重破坏的最有效方法之一。在网络配置管理器中,存储加密可用于存储设…

Unity 模拟放大镜局部放大UI 效果实现

UI 放大实现 RectTransformUtility.ScreenPointToLocalPointInRectangle(rectScale, eventData.position, eventData.pressEventCamera, out localPos); 使用IPointerDownHandler 获取鼠标点击时的有效负载,并将鼠标坐标转成对应的UI 坐标,rectScale 为…

【Win】一键恢复IE11工具:让旧版浏览器在新系统中重生

微软在2020年8月的时候就已经公告IE11的生命周期终点,多次提醒将在2022年6月15日起不再支持IE 11,呼吁用户尽快转换到Chromium-based Microsoft Edge。微软也陆续终止旗下服务支持这个旧式浏览器。2021年3月,Chrome浏览器已不支持旧IE App。2…

欢迎光临Java中的客“栈”

就目前而言,相信大家对数组、链表还有栈都基本已经有了一些了解,本篇文章将以栈为主体,探究栈和数组,栈和链表之间的一些联系。 当然在开始对栈的学习之前,我们先回顾有关数组、链表的基础知识点。 学习代码就是一个…

四川景源畅信:如何更好的为抖音小店做引流?

在数字化营销的浪潮中,抖音小店作为新兴的电商形态,正以其独特的社交属性和流量优势吸引着众多商家的目光。如何为抖音小店引流,成为许多店主心中的疑问。本文将深入探讨有效提升店铺流量的策略,助你在抖音平台上快速崛起。 一、内…

代码随想录算法训练营第二十五天:树的最后学习

代码随想录算法训练营第二十五天:树的最后学习 如果不对递归有深刻的理解,本题有点难 单纯移除一个节点那还不够,要修剪! #669. 修剪二叉搜索树 力扣题目链接(opens new window) 给定一个二叉搜索树,同时给定最小边界…

shell脚本之sort,uniq,tr,cut,sphit,paste,ecal与正则表达式

sort命令 uniq命令 tr命令 cut命令 sphit命令 paste命令 ecal命令 正则表达式 sort命令 sort命令---以行为单位对文件内容进行排序,也可以根据不同的数据类型来排序 比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序…

通过java将数据导出为PDF,包扣合并单元格操作

最近项目中需要将查询出来的表格数据以PDF形式导出&#xff0c;并且表格的形式包含横向行与纵向列的单元格合并操作&#xff0c;导出的最终效果如图所示&#xff1a; 首先引入操作依赖 <!--导出pdf所需包--><dependency><groupId>com.itextpdf</groupId&…

汇聚荣:拼多多长期没有流量如何提高?

在电商的海洋中&#xff0c;拼多多以其独特的团购模式吸引了众多消费者的目光。然而&#xff0c;随着市场竞争的加剧和消费者需求的多样化&#xff0c;一些商家发现自家店铺的流量持续低迷&#xff0c;销售业绩难以突破。面对这样的挑战&#xff0c;如何有效提升拼多多店铺的客…

【计算机毕业设计】springboot反诈科普平台的设计与实现

相比于以前的传统手工管理方式&#xff0c;智能化的管理方式可以大幅降低反诈科普平台的运营人员成本&#xff0c;实现了反诈科普平台的 标准化、制度化、程序化的管理&#xff0c;有效地防止了反诈科普平台的随意管理&#xff0c;提高了信息的处理速度和精确度&#xff0c;能够…

[vue] nvm

nvm ls // 看安装的所有node.js的版本nvm list available // 查显示可以安装的所有node.js的版本可以在可选列表里。选择任意版本安装&#xff0c;比如安装16.15.0 执行&#xff1a; nvm install 16.15.0安装好了之后。可以执行&#xff1a; …

25考研英语长难句Day03

25考研英语长难句Day03 【a.词组】【b.断句】 多亏了电子学和微力学的不断小型化&#xff0c;现在已经有一些机器人系统可以进行精确到毫米以下的脑部和骨骼手术&#xff0c;比技术高超的医生用手能做到的精确得多。 【a.词组】 词组翻译thanks to多亏了&#xff0c;由于cont…

【JavaEE进阶】 Bean的作用域与生命周期

文章目录 &#x1f343;Bean的作用域&#x1f6a9;作用域的使用&#x1f6a9;观察Bean的作用域&#x1f388;单例作用域&#x1f388;多例作用域&#x1f388;请求作用域&#x1f388;会话作⽤域&#x1f388;Application作⽤域 &#x1f384;Bean的⽣命周期⭕总结 &#x1f34…

win11家庭中文版安装docker,报错 Docker Engine stopped

先引一下这位博主的链接超详细Windows11家庭中文版系统安装Docker-20230401_windows11安装docker-CSDN博客&#xff0c;我到前五步(跳出页面重启)和博主都是一样的&#xff0c;但是第六步我并没有报错&#xff0c;直接跳出docker界面 记录一下我的解决办法&#xff0c;首先按照…

金价又双叒涨了!现货黄金什么比较好

虽然近期有新闻显示&#xff0c;国内的实物黄金价格出现大幅的下跌&#xff0c;但是从整体看&#xff0c;多个黄金投资品种的长期上升趋势还是比较稳定的&#xff0c;因此我们会看到&#xff0c;很多投资者会趁现在这波下跌重新入场做多。那么投资黄金买什么比较好呢&#xff1…

如何向全国各大新闻网站投稿?

在信息爆炸的时代,新闻媒体的投稿工作对于单位的信息宣传员来说,既是一项重要的职责,也是一项充满挑战的任务。作为一名信息宣传员,我负责着单位的对外信息宣传投稿工作,每个月都需要在各大媒体上发表文章,以展示单位的成果和风采。 然而,刚开始的投稿之路并不顺畅。我习惯性地…