
Hadoop
咪蒙不秃头
小白做笔记
展开
-
Hadoop-Mapreduce实战(两表join)
两表Join未优化版本Bean.javaimport org.apache.hadoop.io.WritableComparable;import java.io.DataInput;import java.io.DataOutput;import java.io.IOException;/* * 人员和地址的通用bean */public class Bean ...原创 2020-04-21 12:04:11 · 316 阅读 · 0 评论 -
Hadoop-Mapreduce实战(压缩解压案例)
压缩解压案例数据流的压缩和解压缩CompressionCodec有两个方法可以用于轻松地压缩或解压缩数据。要想对正在被写入一个输出流的数据进行压缩,我们可以使用createOutputStream(OutputStreamout)方法创建一个CompressionOutputStream,将其以压缩格式写入底层的流。相反,要想对从输入流读取而来的数据进行解压缩,则调用createInput...原创 2020-04-20 05:13:18 · 382 阅读 · 0 评论 -
Hadoop-Mapreduce(共同好友案例)
共同好友案例需求以下是博客的好友列表数据,冒号前是一个用户,冒号后是该用户的所有好友(数据中的好友关系是单向的)求出哪些人两两之间有共同好友,及他俩的共同好友都有谁?需求分析先求出A、B、C、….等是谁的好友第一次输出结果A I,K,C,B,G,F,H,O,D,B A,F,J,E,C A,E,B,H,F,G,K,D G,C,K,A,L,F,E,H,E G,M,...原创 2020-04-19 14:35:55 · 401 阅读 · 0 评论 -
Hadoop-Mapreduce实战(倒排索引案例(多job串联))
倒排索引案例(多job串联)需求:有大量的文本(文档、网页),需要建立搜索索引第一次预期输出结果it--a.txt 3it--b.txt 2it--c.txt 2pingping--a.txt 1pingping--b.txt 3pingping--c.txt 1ss--a.txt 2ss--b.txt 1ss--c.txt 1第二次预期输出结果it c....原创 2020-04-18 18:37:28 · 261 阅读 · 0 评论 -
Hadoop-Mapreduce实战(日志清洗案例)
简单解析版需求:去除日志中字段长度小于等于11的日志。输入数据实现代码:编写LogMapperimport java.io.IOException;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.NullWritable;import org.apache.hadoop.io.Tex...原创 2020-04-17 07:21:15 · 515 阅读 · 0 评论 -
Hadoop-MapReduce(多表合并)
MapReduce中多表合并需求订单数据表t_order:idpidamount100101110020221003033商品信息表t_product将商品信息表中数据根据商品pid合并到订单数据表中。最终数据形式:需求1:Reduce端表合并(数据倾斜)通过将关联条件作为map输出的key,将两表满足join条件的数据并...原创 2020-04-16 16:54:40 · 963 阅读 · 0 评论 -
Hadoop-Mapreduce(过滤日志及自定义日志输出(自定义OutputFormat))
过滤日志及自定义日志输出(自定义OutputFormat)需求过滤输入的log日志中是否包含itstar包含itstar的网站输出到e:/itstar.log不包含itstar的网站输出到e:/other.log输入数据输出预期具体流程自定义一个outputformatimport java.io.IOException;import org.apa...原创 2020-04-15 15:15:07 · 288 阅读 · 0 评论 -
Hadoop-Mapreduce实战(辅助排序和二次排序案例(GroupingComparator))
辅助排序和二次排序案例(GroupingComparator)需求有如下订单订单id商品id成交金额0000001Pdt_01222.80000001Pdt_0625.80000002Pdt_03522.80000002Pdt_04122.40000002Pdt_05722.40000003Pdt_01222...原创 2020-04-14 14:21:19 · 238 阅读 · 0 评论 -
Hadoop-Mapreduce实战(流量汇总案例)
流量汇总案例需求1:统计手机号耗费的总上行流量、下行流量、总流量(序列化)统计每一个手机号耗费的总上行流量、下行流量、总流量数据准备原始数据格式:时间戳、电话号码、基站的物理地址、访问网址的ip、网站域名、数据包、接包数、上行/传流量、下行/载流量、响应码输出数据格式:1356·0436666 1116 954 2070 手机号码 上行流量 下行流量 总流...原创 2020-04-13 14:32:40 · 1365 阅读 · 0 评论 -
Hadoop-MapReduce实战(WordCount)
WordCount案例需求1:统计一堆文件中单词出现的个数在一堆给定的文本文件中统计输出每一个单词出现的总次数数据准备:分析 按照mapreduce编程规范,分别编写Mapper,Reducer,Driver。分析编写mapper类import java.io.IOException;import org.apache.hadoop.io.IntWr...原创 2020-04-12 20:12:49 · 267 阅读 · 0 评论 -
Hadoop-Yarn和Hadoop企业优化
YarnHadoop1.x和Hadoop2.x架构区别在Hadoop1.x时代,Hadoop中的MapReduce同时处理业务逻辑运算和资源的调度,耦合性较大。在Hadoop2.x时代,增加了Yarn。Yarn只负责资源的调度,MapReduce只负责运算Yarn概述Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台,而MapReduce等运算程...原创 2020-04-11 19:56:47 · 197 阅读 · 0 评论 -
Hadoop-数据压缩总结
Hadoop数据压缩概述压缩技术能够有效减少底层存储系统(HDFS)读写字节数。压缩提高了网络带宽和磁盘空间的效率。在Hadoop下,尤其是数据规模很大和工作负载密集的情况下,使用数据压缩显得非常重要。在这种情况下,I/O操作和网络数据传输要花大量的时间。还有,Shuffle与Merge过程同样也面临着巨大的I/O压力。 鉴于磁盘I/O和网络带宽是Hadoop的宝贵资源,数据压缩对于节省资...原创 2020-04-10 11:18:33 · 150 阅读 · 0 评论 -
Hadoop-Mapreduce(四)
Join多种应用Map join(Distributedcache分布式缓存)使用场景:一张表十分小、一张表很大。解决方案在map端缓存多张表,提前处理业务逻辑,这样增加map端业务,减少reduce端数据的压力,尽可能的减少数据倾斜。具体办法:采用distributedcache (1)在mapper的setup阶段,将文件读取到缓存集合中。 (2)在驱动函数中...原创 2020-04-09 20:30:03 · 134 阅读 · 0 评论 -
Hadoop-Mapreduce(三)
Shuffle机制Shuffle机制Mapreduce确保每个reducer的输入都是按键排序的。系统执行排序的过程(即将map输出作为输入传给reducer)称为shuffle。Partition分区问题引出:要求将统计结果按照条件输出到不同文件中(分区)。比如:将统计结果按照手机归属地不同省份输出到不同文件中(分区)默认partition分区public class H...原创 2020-04-08 16:04:37 · 176 阅读 · 0 评论 -
Hadoop-Mapreduce(二)
InputFormat数据输入Job提交流程和切片源码详解waitForCompletion()submit();// 1建立连接 connect(); // 1)创建提交job的代理 new Cluster(getConfiguration()); // (1)判断是本地yarn还是远程 initialize(jobTrackAddr, conf); //...原创 2020-04-07 19:12:20 · 162 阅读 · 0 评论 -
Hadoop-Mapreduce(一)
MapReduce定义Mapreduce是一个分布式运算程序的编程框架,是用户开发“基于hadoop的数据分析应用”的核心框架。Mapreduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个hadoop集群上。MapReduce优缺点优点MapReduce易于编程。它简单的实现一些接口,就可以完成一个分布式程序,这个分布式程序可以...原创 2020-04-06 19:25:07 · 138 阅读 · 0 评论 -
Hadoop-HDFS总结(五)
DataNode工作机制NameNode & DataNode工作机制1)一个数据块在datanode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。2)DataNode启动后向namenode注册,通过后,周期性(1小时)的向namenode上报所有的块信息。3)心跳是每3秒一次,心跳返回结果带有namenode给...原创 2020-04-05 20:13:26 · 586 阅读 · 0 评论 -
Hadoop-HDFS总结(四)
HDFS工作机制HDFS的数据流文件写入1)客户端向namenode请求上传文件,namenode检查目标文件是否已存在,父目录是否存在。2)namenode返回是否可以上传。3)客户端请求第一个 block上传到哪几个datanode服务器上。4)namenode返回3个datanode节点,分别为dn1、dn2、dn3。5)客户端请求dn1上传数据,dn1收到请求会继续调用dn2...原创 2020-04-04 19:52:46 · 327 阅读 · 0 评论 -
Hadoop-HDFS总结(三)
HDFS的JAVA API操作1. HDFS获取文件系统/** * 打印本地hadoop地址值 * IO的方式写代码 */ @Test public void intiHDFS() throws IOException { //F2 可以快速的定位错误 // alt + enter自动找错误 //1....原创 2020-04-03 22:19:13 · 219 阅读 · 0 评论 -
Hadoop-HDFS总结(二)
HDFS 的Shell操作基本语法bin/hadoop fs 具体命令 OR bin/hadoop dfs 具体命令 dfs是fs的现实类2. 命令总结Usage: hadoop fs [generic options] [-appendToFile <localsrc> ... <dst>] [-cat [-ignoreCrc] <src...原创 2020-04-02 16:56:35 · 144 阅读 · 0 评论 -
Hadoop-HDFS总结(一)
Hadoop-HDFS总结HDFS优点HDFS缺点HDFS优点1.容错性高:(1)数据在多个副本里自动保存,提高了容错性。(2)某一副本丢失后可以自动恢复。2.适合处理大量数据(1)数据规模:可以处理GB,TB,甚至PB级别的数据。(2)文件规模:可以大量的文件(百万规模)。3.可以在廉价的机器上,通过多副本机制,提高可靠性。HDFS缺点1.不适合低延时数据访问,例如毫秒级数据...原创 2020-04-01 13:18:13 · 188 阅读 · 0 评论