hadoop
·
爱吃芝麻
没有永久的记忆,只有不忘的博客
展开
-
Hadoop概述
目录 Hadoop 简介 Hadoop 历史 Hadoop 相关项目 Hadoop 应用场景 了解 Hadoop 的概念 了解 Hadoop 的相关项目和使用场景 Hadoop 简介开源Apache Hadoop 是一款支持数据密集型分布式应用并以 Apache 2.0 许可协议发布的开源软件框架。它支持在商品硬件构建的大型集群上运行的应用程序。源...原创 2020-02-02 11:53:49 · 141 阅读 · 0 评论 -
zookeeper
1Zookeeper介绍Zookeeper 是动物管理员 哈哈。 总所周知hadoop体系里有很多logo是动物。猪,大象,,海豚,蜜蜂之类的。那么Zookeeper到底是什么?作用?Zookeeper是分布式应用程序协调服务,是Hadoop的重要组件之一。他也是一个小型的文件存储系统。它为分布式应用提供一致性服务的软件,提供的功能包括,配置维护,域名服务,分布式同步,组服务等。...原创 2019-11-05 18:53:34 · 495 阅读 · 0 评论 -
HDFS概述
目录分布式文件系统(HadoopDistributedFileSystem)HDFS的基本思想HDFS的设计理念HDFS的局限分布式文件系统(HadoopDistributedFileSystem) 随着数据量的不断增大,传统的数据处理技术已经无法满足大数据处理。所以出现了分布式文件存储系统。需要将数据分区并储存若干个计算上中。这就出现了数据不方...原创 2019-11-07 19:54:32 · 274 阅读 · 0 评论 -
hdfs读写操作
读取流程流程图:1.客户端向NameNode发送读的请求2.NameNode根据客户端的请求,根据内存索引查找客户端要查的文件对应的文件块,如果没有那么告诉客户端。如果有那么将文件块在那些服务器上以及具体的位置在哪儿告诉客户端。客户端根据namenode返回的信息,读取最近的服务器的文件。1)客户端调用 DistributedFileSystem 的 Open() 方法打...原创 2020-02-02 17:56:26 · 300 阅读 · 0 评论 -
MapReduce概述
目录MapReduce 简介MapReduce 流程分析MapReduce 阶段划分MapReduce 工作机制剖析MapReduce 简介MapReduce 是现今一个非常流行的分布式计算框架,它被设计用于并行计算海量数据。第一个提出该技术框架的是 Google 公司,而 Google 的灵感则来自于函数式编程语言,如 LISP、Scheme、ML 等。MapRedu...原创 2020-02-03 09:24:47 · 199 阅读 · 0 评论 -
Mapreduce之二次排序
二次排序二次排序,对第1个字段相同的数据,使用第2个字段进行排序。说白了就是我们有的时候需要先按照key进行排序 如果key相同的情况下再按val排序;通过一个程序实现两次排序的玩法我们成为是二次排序;举个例子,电商平台记录了每一用户的每一笔订单的订单金额,现在要求属于同一个用户的所有订单金额作排序,并且输出的用户名也要排序。这里涉及到了分组分组 grouping1)概念:主...原创 2019-11-17 23:36:31 · 188 阅读 · 0 评论 -
解决reduce拉取map数据的时候key设计的不均衡问题
什么是数据倾斜及数据倾斜是怎么产生?简单来说数据倾斜就是数据的key 的分化严重不均,造成一部分数据很多,大部分数据很少的局面。举个 word count 的入门例子,它的map 阶段就是形成 (“aaa”,1)的形式,然后在reduce 阶段进行 value 相加,得出 “aaa” 出现的次数。若进行 word count 的文本有100G,其中 80G 全部是 “aaa” 剩下 20G...原创 2019-11-17 21:29:44 · 586 阅读 · 0 评论 -
Mapreduce之Partition
Partition了解Partition位置Partition主要作用就是将map的结果发送到相应的reduce。这就对partition有两个要求:1)均衡负载,尽量的将工作均匀的分配给不同的reduce。2)效率,分配速度一定要快。patition类结构1.Partitioner是partitioner的基类,如果需要定制partitioner也需要继承该类。2...原创 2019-11-17 20:41:12 · 573 阅读 · 0 评论 -
Mapreduce之sort
正序排序:mapreduce本身自带排序,在map阶段是局部有序,在reduce阶段是全局有序的。现在我们测试单个文件使用map输出package com.hnxy.mr.Sort;import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.c...原创 2019-11-17 16:17:40 · 661 阅读 · 0 评论 -
自定序列化(hadoop)
什么是序列化?序列化:把对象转换为字节序列的过程称为对象的序列化。反序列化:把字节序列恢复为对象的过程称为对象的反序列化。上面求最大值最小值,关于多个value值得问题我们用/001的分割符进行链接。但是这里是两个。要是很多个我们怎么解决?我可以使用自定义序列化类,将这个类作为我们value的输出类型。再通过创建这个类的对象,获得封装对象的属性来实现多个value值。实例:自...原创 2019-11-16 13:40:32 · 83 阅读 · 0 评论 -
Mapreduce之InnerJoin
内连接两个文件 显示两个文件的数据根据两个文件的数据进行判断读取每一行数据数据长度==2 那么就是第一个文件长度==3那么就是第二个文件第一个文件使用a#开头第二个文件使用b#开头两个文件使用相同的key value进行合并获取以为开头a 并进行切分获取以b开头 并进行切分把切的数据封装 根据key相同聚合valuepackage com.hnxy.mr.join...原创 2019-11-16 17:08:25 · 121 阅读 · 0 评论 -
MapReduce之多目录输出
多目录输出:输出两个文件一个是最大值,一个最小值。主要操作reduce阶段1.在reduce阶段定义多目录输出对象private MutipleOutPuts<Text,DouWritable> outputs =null;2.在setup()创建多目录输出对象 需要context支持outputs = new MultipleOutputs(context);...原创 2019-11-16 15:05:37 · 373 阅读 · 0 评论 -
MapReduce同时求最大值最小值
数据样式:package com.hnxy.mr.max;import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.conf.Configured;import org.apache.hadoop.fs.FileSystem;impor...原创 2019-11-15 23:25:45 · 1235 阅读 · 1 评论 -
MapReduce求最大值
思想:在map端找出map端的最大值(局部)。map的cleanup方法输出这个最大值,再通过reduce端将map端的局部最大进行比较。求出最终最大的那个值。怎么样找出map端的最大值?老样子,先看数据!销售时间 社保卡号 商品编码 商品名称 销售数量 应收金额 实收金额 2018-01-01 001616528 236701 强力VC银...原创 2019-11-15 22:28:39 · 3405 阅读 · 0 评论 -
MapReduce之去重
老规矩!数据 是什么样的?数据以\t 分割 UTF-8编码格式1.编程思想Mapreduce的具有聚合的特性,我们将数据聚合然后value值设为null即可 非常简单,可以理解为wordcount 没有value值2.代码:package com.hnxy.mr.distinct;import java.io.IOException;import org.ap...原创 2019-11-15 20:47:00 · 309 阅读 · 0 评论 -
mapreduce之wordcount
wrodcount 单词统计。写mapreduce最最最重要的是了解数据!!!!!!数据是怎么分割的?数据类型是什么?格式编码是什么?了解了数据那么下面就是进行业务逻辑!编程最重要的是思想,代码只是一种表现形式。没有思想,就像你的字写得很好看,语言表达能力很好。但是你不知道讲什么?不知道怎么写文章一样。没有意义!那么单词统计的编程思想是什么?1.了解数据上面的数据是我自己造...原创 2019-11-15 20:25:41 · 112 阅读 · 0 评论