【分布式计算框架 MapReduce】高级编程—搜索日志数据分析

目录

一、对于 sogou_500w_utf 数据,使用 MapReduce 编程模型完成对以下数据的分析任务

1. 统计 2011-12-30 日搜索记录,每个时间段的搜索次数

(1)运行截图

(2) 源代码

2. 统计 2011-12-30 日 3 点至 4 点之间,哪些 UID 访问了搜狗引擎。

(1)运行截图

(2)源代码

二、有两个输入文件 A 和 B,使用 MapReduce 编程合并文件,得到输出文件 C

1. 输入文件A和B如下

2. 通过MapReduce编程合并文件得到outputC

3. 源代码


一、对于 sogou_500w_utf 数据,使用 MapReduce 编程模型完成对以下数据的分析任务

1. 统计 2011-12-30 日搜索记录,每个时间段的搜索次数

(每小时为一个单位,比如 0 点钟多少次,1 点钟多少次,2 点钟多少次,一直到 23 点多少次)

(1)运行截图

hadoop jar /home/2130502441ryx/SearchCountJob.jar org/ryx/SearchCountJob /sogou.500.utf8 /output5

 

hdfs dfs -ls /output5hdfs dfs -cat /output5/part-r-00000

(2) 源代码

① SearchCountMapper

② SearchCountReduct

③ SearchCountJob

2. 统计 2011-12-30 日 3 点至 4 点之间,哪些 UID 访问了搜狗引擎。

(1)运行截图

hadoop jar /home/2130502441ryx/UIDCountJob.jar org/ryx/SogouDriver /sogou.500.utf8 /output7

(下面截图贴错了,上面的运行命令才是正确的)

hdfs dfs -ls /output7hdfs dfs -cat /output7/part-r-00000

(2)源代码

SogouMapper.java

SogouReducer.java

SogouDriver.java

二、有两个输入文件 A 和 B,使用 MapReduce 编程合并文件,得到输出文件 C

输入文件 A 的样例如下:

20150101 x

20150102 y

20150103 x

20150104 y

20150105 z

20150106 x

输入文件 B 的样例如下:

20150101 y

20150102 y

20150103 x

20150104 z

20150105 y

根据输入文件 A 和 B 合并得到的输出文件 C 的样例如下:

20150101 x

20150101 y

20150102 y

20150103 x

20150104 y

20150104 z

20150105 y

20150105 z

20150106 x

1. 输入文件A和B如下

hdfs dfs -cat /inputA

hdfs dfs -cat /inputB

2. 通过MapReduce编程合并文件得到outputC

hadoop jar /home/2130502441ryx/MergeFiles.jar org/ryx/MergeFiles /inputA /inputB /outputC

hdfs dfs -cat /outputC/part-r-00000

3. 源代码

① MergeMapper

② MergeReducer

③ MergeFiles

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

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

相关文章

2024最新初级会计职称题库来啦!!!

16.根据增值税法律制度的规定,下列各项中,属于"提供加工、修理修配劳务"的是()。 A.修理小汽车 B.修缮办公楼 C.爆破 D.矿山穿孔 答案:A 解析:选项AB:修理有形动产(…

【PL理论深化】(13) 变量与环境:文法结构 | 真假表达式:isZero E | let 表达式叠放 | 定义的规则 | 条件语句的使用

💬 写在前面:从现在开始,让我们正式设计和实现编程语言。首先,让我们扩展在之前定义的整数表达式语言,以便可以使用变量和条件表达式。 目录 0x00 文法结构 0x01 真假表达式:isZero E 0x02 let 表达式叠…

Elasticsearch 第四期:搜索和过滤

序 2024年4月,小组计算建设标签平台,使用ES等工具建了一个demo,由于领导变动关系,项目基本夭折。其实这两年也陆陆续续接触和使用过ES,两年前也看过ES的官网,当时刚毕业半年多,由于历史局限性导…

ArtTS系统能力-通知的学习(3.1)

上篇回顾: ArtTS语言基础类库-容器类库内容的学习(2.10.2) 本篇内容: ArtTS系统能力-通知的学习(3.1) 一、 知识储备 1. 基础类型通知 按内容分成四类: 类型描述NOTIFICATION_CONTENT_BASIC_TEXT普通文…

2024 Parallels Desktop for Mac 功能介绍

Parallels Desktop的简介 Parallels Desktop是一款由Parallels公司开发的桌面虚拟化软件,它允许用户在Mac上运行Windows和其他操作系统。通过强大的技术支持,用户无需重新启动电脑即可在Mac上运行Windows应用程序,实现了真正的无缝切换。 二…

普元EOS学习笔记-创建精简应用

前言 本文依旧基于EOS8.3进行描述。 在上一篇文章《EOS8.3精简版安装》中,我们了解到普元预编译好的EOS的精简版压缩包,安装后,只能进行低开,而无法高开。 EOS精简版的高开方式是使用EOS开发工具提供的IDE,创建一个…

东软睿驰总裁兼CTO杜强受邀出席 CICV 2024智能网联汽车技术首脑(CTO)闭门峰会

近日,第十一届国际智能网联汽车技术年会(CICV 2024)在北京举办,会议期间组织智能网联汽车技术首脑(CTO)闭门峰会,邀请40余位技术领袖围绕智能网联汽车产业生态建设以及智能网联汽车数据、算力和…

Python的numpy简单使用

1.可以调用引入numpy里面的函数,如add可以把俩数相加,也可以创建一个数组arr,arr.shape是数组arr的属性,如果后有跟()就是里面的一个函数 type()函数可以知道里面是什么类型 变量.shape可以知道这个变量是…

基于决策树的旋转机械故障诊断(Python)

前置文章: 将一维机械振动信号构造为训练集和测试集(Python) https://mp.weixin.qq.com/s/DTKjBo6_WAQ7bUPZEdB1TA 旋转机械振动信号特征提取(Python) https://mp.weixin.qq.com/s/VwvzTzE-pacxqb9rs8hEVw import…

菲尔兹奖得主测试GPT-4o,经典过河难题未能破解!最强Claude 3.5回答离谱!

目录 01 大言模型能否解决「狼-山羊-卷心菜」经典过河难题? 02 加大难度:100只鸡、1000只鸡如何? 01 大言模型能否解决「狼-山羊-卷心菜」经典过河难题? 最近,菲尔兹奖得主Timothy Gowers分享了他测试GPT-4o的经历&a…

游戏推荐: 植物大战僵尸杂交版

下载地址网上一搜就有. 安装就能玩. 2是显血. 4显示植物血, 5是加速. 都是左手主键盘的按钮, 再按是取消. 比较刺激: ps: 设置里面还能打开自动收集阳光和金币.

视频融合共享平台LntonCVS统一视频接入平台智慧安防应用方案

安防视频监控平台LntonCVS是一款拥有强大拓展性和灵活部署能力的综合管理平台。它支持多种主流标准协议,包括国标GB28181、RTSP/Onvif、RTMP等,同时兼容各厂家的私有协议和SDK,如海康Ehome、海大宇等。LntonCVS不仅具备传统安防视频监控功能&…

Django 一对一关系

作用: 两个数据库表建立外键关系当外键表的数据被删除时,主表的数据也会一并删除。 1,添加表模型 Test/app8/views.pyfrom django.db import modelsclass User(models.Model):username models.CharField(max_length50, uniqueTrue)email …

【Linux系统】进程替换 自主实现shell(简易版)

1.先看代码 && 现象 我们用exec*函数执行新的程序, exec*系列的函数,执行完毕后,后续的代码不见了,因为被替换了。 execl的返回值可以不关心了,只要替换成功,就不会向后继续运行,只要…

第5讲:建立自己的C函数库,js调用自己写的C/C++函数,并包含依赖C/C++第三方静态库。

在javascript中,Array有很多内置的功能,比如Array.map,Array.filter,Array.find等等,能用内置的功能就用内置的功能,最好不要自己实现一套,因为底层调用的可能压根就不是js语言本身,…

Wails 安装初体验

文章目录 Wails 安装说明1. 系统要求2. 安装步骤3. 构建应用 结论 Wails 安装说明 Wails 是一个用于构建桌面应用的 Go 框架,结合了现代前端技术。以下是安装步骤: 1. 系统要求 Go 1.16 或更高版本Node.js 和 npm可选:适用于 Windows、mac…

【机器学习】机器学习的重要方法——强化学习:理论,方法与实践

目录 一、强化学习的核心概念 二、强化学习算法的分类与示例代码 三.强化学习的优势 四.强化学习的应用与挑战 五、总结与展望 强化学习:理论,方法和实践 在人工智能的广阔领域中,强化学习(Reinforcement Learning, RL&…

基于源码详解ThreadPoolExecutor实现原理

个人博客地址 基于源码详解ThreadPoolExecutor实现原理 | iwts’s blog 内容拆分 这里算是一个总集,内容太多,拆分成几个比较重要的小的模块: ThreadPoolExecutor基于ctl变量的声明周期管理 | iwts’s blog ThreadPoolExecutor 工作线程…

模板方法模式在金融业务中的应用及其框架实现

引言 模板方法模式(Template Method Pattern)是一种行为设计模式,它在一个方法中定义一个算法的框架,而将一些步骤的实现延迟到子类中。模板方法允许子类在不改变算法结构的情况下重新定义算法的某些步骤。在金融业务中&#xff…

可信和可解释的大语言模型推理-RoG

大型语言模型(LLM)在复杂任务中表现出令人印象深刻的推理能力。然而,LLM在推理过程中缺乏最新的知识和经验,这可能导致不正确的推理过程,降低他们的表现和可信度。知识图谱(Knowledge graphs, KGs)以结构化的形式存储了…