![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Hadoop
Denovo丶
命里有时终须有,命里无时莫强求。
展开
-
Hadoop-1
安装不说了,配置参数就那些重要特性如下:(1)HDFS中的文件在物理上是分块存储(block),块的大小可以通过配置参数( dfs.blocksize)来规定,默认大小在hadoop2.x版本中是128M,老版本中是64M(2)HDFS文件系统会给客户端提供一个统一的抽象目录树,客户端通过路径来访问文件,形如:hdfs://namenode:port/dir-a/dir-b/dir-c/fi...原创 2019-02-22 17:55:09 · 239 阅读 · 0 评论 -
Hadoop-16
压缩/解压缩对数据流的压缩和解压缩CompressionCodec有两个方法可以用于轻松地压缩或解压缩数据。要想对正在被写入一个输出流的数据进行压缩,我们可以使用 createOutputStream(OutputStreamout)方法创建一个CompressionOutputStream(未压缩的数据将 被写到此),将其以压缩格式写入底层的流。相反,要想对从输入流读取而来的数据进行解压缩,...原创 2019-03-02 23:23:55 · 169 阅读 · 0 评论 -
Hadoop-15
找微信共同好友分析实战1)需求:以下是微信的好友列表数据,冒号前是一个用,冒号后是该用户的所有好友(数据中的好友关系是单向的)A:B,C,D,F,E,OB:A,C,E,KC:F,A,D,ID:A,E,F,LE:B,C,D,M,LF:A,B,C,D,E,O,MG:A,C,D,E,FH:A,C,D,E,OI:A,OJ:B,OK:A,C,DL:D,E,FM:E,F,GO:...原创 2019-03-02 22:58:21 · 154 阅读 · 0 评论 -
Hadoop-14
倒排索引实战(多job串联)0)需求:有大量的文本(文档、网页),需要建立搜索索引a.txt:atguigu pingpingatguigu ssatguigu ssb.txtatguigu pingpingatguigu pingpingpingping ssc.txtatguigu ssatguigu pingping最终输出结果:(1)第一次预期输出结果...原创 2019-03-01 23:06:42 · 146 阅读 · 0 评论 -
Hadoop-13
日志清洗(数据清洗)简单解析版1)需求:去除日志中字段长度小于等于11的日志。2)输入数据3)实现代码:(1)编写LogMapperimport java.io.IOException;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.NullWritable;import org.apa...原创 2019-03-01 22:27:08 · 120 阅读 · 0 评论 -
Hadoop-5
CombineTextInputFormat切片机制关于大量小文件的优化策略1)默认情况下TextInputformat对任务的切片机制是按文件规划切片,不管文件多小,都会是一个单独的切片,都会交给一个maptask,这样如果有大量小文件,就会产生大量的maptask,处理效率极其低下。2)优化策略(1)最好的办法,在数据处理系统的最前端(预处理/采集),将小文件先合并成大文件,再上传到H...原创 2019-02-25 22:17:25 · 155 阅读 · 0 评论 -
Hadoop-12
过滤日志及自定义日志输出路径(自定义OutputFormat)1)需求过滤输入的log日志中是否包含atguigu(1)包含atguigu的网站输出到e:/atguigu.log(2)不包含atguigu的网站输出到e:/other.log2)输入数据log.txt:http://www.baidu.comhttp://www.google.comhttp://cn.bing.c...原创 2019-03-01 16:29:08 · 124 阅读 · 0 评论 -
Hadoop-11
小文件处理(自定义InputFormat)1)需求无论hdfs还是mapreduce,对于小文件都有损效率,实践中,又难免面临处理大量小文件的场景,此时,就需要有相应解决方案。将多个小文件合并成一个文件SequenceFile,SequenceFile里面存储着多个文件,存储的形式为文件路径+名称为key,文件内容为value。2)输入数据最终预期文件格式:3)分析小文件的优化无非...原创 2019-02-28 23:05:58 · 105 阅读 · 0 评论 -
Hadoop-10
MapReduce中多表合并案例1)需求:订单数据表t_order:商品信息表t_product将商品信息表中数据根据商品id合并到订单数据表中。最终数据形式:需求1:reduce端表合并(数据倾斜)通过将关联条件作为map输出的key,将两表满足join条件的数据并携带数据所来源的文件信息,发往同一个reduce task,在reduce中进行数据的串联。1)创建商品和订...原创 2019-02-28 22:26:20 · 144 阅读 · 0 评论 -
Hadoop-9
3.3 求每个订单中最贵的商品(GroupingComparator)1)需求有如下订单数据2)输入数据Order_0000001 Pdt_01 222.8Order_0000002 Pdt_05 722.4Order_0000001 Pdt_05 25.8Order_0000003 Pdt_01 222.8Order_0000003 Pdt_01 33.8Order_0000...原创 2019-02-28 19:48:22 · 158 阅读 · 0 评论 -
Hadoop-4
MapReduce概念Mapreduce是一个分布式运算程序的编程框架,是用户开发“基于hadoop的数据分析应用”的核心框架;Mapreduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个hadoop集群上。为什么要MapReduce1)海量数据在单机上处理因为硬件资源限制,无法胜任2)而一旦将单机版程序扩展到集群来分布式运行,将极大...原创 2019-02-23 23:03:44 · 293 阅读 · 0 评论 -
Hadoop-8
流量汇总程序案例需求1:统计手机号耗费的总上行流量、下行流量、总流量(序列化)1)需求:统计每一个手机号耗费的总上行流量、下行流量、总流量2)数据准备phone_data.txt1363157985066 13726230503 00-FD-07-A4-72-B8:CMCC 120.196.100.82 i02.c.aliimg.com 24 27 2481 24681 2001...原创 2019-02-28 00:12:41 · 234 阅读 · 0 评论 -
Hadoop-3
DataNode工作机制1)一个数据块在datanode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。2)DataNode启动后向namenode注册,通过后,周期性(1小时)的向namenode上报所有的块信息。3)心跳是每3秒一次,心跳返回结果带有namenode给该datanode的命令如复制块数据到另一台机器,或删...原创 2019-02-23 16:27:29 · 442 阅读 · 0 评论 -
Hadoop-7
WordCount案例需求1:统计一堆文件中单词出现的个数(WordCount案例)0)需求:在一堆给定的文本文件中统计输出每一个单词出现的总次数1)数据准备:hello.txt2)分析按照mapreduce编程规范,分别编写Mapper,Reducer,Driver。3)编写程序(1)定义一个mapper类 1. 用户自定义的Mapper要继承自己的父类 2. Mappe...原创 2019-02-27 18:50:33 · 162 阅读 · 0 评论 -
Hadoop-2
一致性模型HDFS某些地方为了性能可能会不符合POSIX(是的,你没有看错,POSIX不仅仅只适用于linux/unix,Hadoop 使用了POSIX的设计来实现对文件系统文件流的读取),所以它看起来可能与你所期望的不同,要注意。 创建了一个文件以后,它是可以在命名空间(namespace)中可以看到的: Path p = new Path(“p”); fs.create§...原创 2019-02-23 00:30:44 · 347 阅读 · 0 评论 -
Hadoop-6
MapReduce数据压缩概述:压缩技术能够有效减少底层存储系统(HDFS)读写字节数。压缩提高了网络带宽和磁盘空间的效率。在Hadood下,尤其是数据规模很大和工作负载密集的情况下,使用数据压缩显得非常重要。在这种情况下,I/O操作和网络数据传输要花大量的时间。还有,Shuffle与Merge过程同样也面临着巨大的I/O压力。鉴于磁盘I/O和网络带宽是Hadoop的宝贵资源,数据压缩对于节...原创 2019-02-26 20:32:04 · 206 阅读 · 0 评论