
Hadoop实战
Movle
this is the way
展开
-
MapReduce实战:第一个wordcount程序
1.运行环境:linux Hadoop集群IDEAjdk82.在IDEA中创建项目(1)创建项目,添加依赖:pom.xml<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties>...原创 2020-05-06 12:00:40 · 243 阅读 · 0 评论 -
MapReduce实战,简单清洗日志
1.情况,利用MapReduce将web.txt文件进行简单的清洗,去除脏数据2.日志文件web.txt194.237.142.21 - - [18/Sep/2013:06:49:18 +0000] "GET /wp-content/uploads/2013/07/rstudio-git3.png HTTP/1.1" 304 0 "-" "Mozilla/4.0 (compatible;)"...原创 2020-05-06 21:16:47 · 853 阅读 · 0 评论 -
MapReduce实战:统计手机号耗费的总上行流量和下行流量
1.需求:统计每一个手机号耗费的总上行流量、下行流量、总流量2.数据准备:输入数据格式:时间戳、电话号码、基站的物理地址、访问网址的ip、网站域名、数据包、接包数、上行/传流量、下行/载流量、响应码最终输出的数据格式:手机号码 上行流量 下行流量 总流量3.分析:基本思路:(1)Map阶段:(a)读取一行数据,切分字段(b)抽取手机号、上行流量...原创 2020-05-06 22:08:47 · 3792 阅读 · 1 评论 -
MapReduce实战:将统计结果按照总流量倒序排序(全排序)
1.需求:根据需求1产生的结果再次对总流量进行排序2.数据准备:3.分析(1)把程序分两步走,第一步正常统计总流量,第二步再把结果进行排序(2)context.write(总流量,手机号)(3)FlowBean实现WritableComparable接口重写compareTo方法@Overridepublic int compareTo(FlowBean o) { // 倒...原创 2020-05-07 00:53:23 · 1488 阅读 · 0 评论 -
MapReduce实战-多表案例:Map端表合并(Distributedcache)
1.分析 适用于关联表中有小表的情形; 可以将小表分发到所有的map节点,这样,map节点就可以在本地对自己所读到的大表数据进行合并并输出最终结果,可以大大提高合并操作的并发度,加快处理速度。2.实战案例:(1)先在驱动模块中添加缓存文件DistributedCacheDriver.javapa...原创 2020-05-07 09:04:09 · 316 阅读 · 0 评论 -
MapReduce实战:将统计结果按照手机归属地不同省份输出到不同文件中(Partitioner)
1.需求:将上次实战(统计手机号耗费的总上行流量和下行流量)的统计结果按照手机归属地不同省份输出到不同文件中(分区)2.分析:(1)Mapreduce中会将map输出的kv对,按照相同key分组,然后分发给不同的reducetask。默认的分发规则为:根据key的hashcode%reducetask数来分发(2)如果要按照我们自己的需求进行分组,则需要改写数据分发(分组)组件Part...原创 2020-05-07 00:53:05 · 702 阅读 · 0 评论