Hadoop
文章平均质量分 91
自信且放光芒66
这个作者很懒,什么都没留下…
展开
-
MapReduce框架-数据压缩
目录一、概述二、MR支持的压缩编码三、压缩方式的选择1. Gzip压缩2. Bzip2压缩3. Lzo压缩4. Snappy压缩四、采用压缩的位置五、压缩配置参数六、压缩案例1. 压缩2. 解压缩七、压缩的应用1. map阶段的压缩2. reduce阶段的压缩八、总结一、概述 压缩技术能够有效减少底层存储系统(HDFS)读写字节数。压缩提高了网络带宽和磁盘空间的效率。在Hadood下,尤其是数据规模很大和工作负载密集的情况下,使用数据原创 2021-08-16 22:42:27 · 421 阅读 · 0 评论 -
MapReduce框架-Join的使用
目录一、引言二、关系型数据库MySQL中Join的用法笛卡尔积:CROSS JOIN内连接:INNER JOIN左连接:LEFT JOIN右连接:RIGHT JOIN外连接:OUTER JOIN三、Reduce Join1. Reduce Join介绍2. 案例2.1 需求:2.2 实现思路:reduce端表合并(数据倾斜)2.3 步骤2.4 源代码2.5 运行截图3.Reduce Join缺点四、Map Join1. 使用场景2.原创 2021-08-13 13:04:17 · 1038 阅读 · 0 评论 -
MapReduce框架原理-OutputFormat
目录一、OutputFormat概述二、自定义OutputFormat自定义OutputFormat的详细流程:三、案例实操案例一:存储数据到MySQL中案例二:存储数据到HDFS本地指定文件夹中一、OutputFormat概述OutputFormat主要是用来指定MR程序的最终的输出数据格式 。默认使用的是TextOutputFormat,默认是将数据一行写一条数据,并且把数据放到指定的输出目录下,以 part-r-xxxxx数字开头。并且默认情况下有几个R原创 2021-08-13 11:40:36 · 305 阅读 · 0 评论 -
MapReduce框架原理-Shuffle机制
Shuffle机制Mapreduce确保每个reducer的输入都是按键排序的。系统执行排序的过程(Map方法之后,Reduce方法之前的数据处理过程)称之为Shuffle。partition分区Partition分区流程处于Mapper数据属于初到环形缓冲区时进行,此时会将通过Partition分区获取到的每一行key-value对应的分区值计入环形缓冲流的左。问题引出要求将统计结果按照条件输出到不同文件中(分区)。比如:将统计结果按照手机归属地不同省份输出到不同文件中(分区)原创 2021-08-11 10:58:01 · 594 阅读 · 0 评论 -
MapReduce工作流程
目录一、MapReduce工作流程图二、流程详解(重点)1. MapTask2. ReduceTask3. Shuffle三、总结一、MapReduce工作流程图二、流程详解(重点)1. MapTask待处理的文本通过submit()方法,获取待处理的数据信息,然后根据InputFormat切片方法机制,生成切片方法文件。把切片方法文件和资源配置文件全部提交在资源路径。提交的信息有:Job.split、wc.jar、Job.xml 把资源提交路径下...原创 2021-08-08 16:11:34 · 336 阅读 · 0 评论 -
MapReduce框架原理-InputFormat数据输入
一、InputFormat简介InputFormat是一个抽象类,没有实现怎么切片,怎么转换,由它的子类实现。其中InputFormat的默认实现类是FileInputFormat,其也是一个抽象类,没有具体实现,最终是由FileInputFormat的子类去实现的。子类一共有五个,每一个子类的分片机制和转换成key-value键值对数据的格式都不一样,其中默认使用的是TextInputFormat<K,V>InputFormat是一个抽象类,里面有两个方法:getSplit...原创 2021-08-07 19:11:33 · 734 阅读 · 0 评论 -
MapReduce概述
目录单词计数案例需求环境准备Java实现Java操作注意事项MapReduce实现编写MR程序过程:源代码:为什么要使用MapReduce分布式方案考虑的问题:MapReduce核心思想-----分而治之,先分后合MapReduce进程MapReduce编程规范(八股文)Mapper阶段----编写Mapper类,即MapTask任务Reducer阶段----编写Reducer类,即ReduceTask任务Driver阶段----关联MapTa原创 2021-08-05 12:53:40 · 274 阅读 · 0 评论 -
MapReduce框架原理-Writable序列化
单词计数案例需求在一堆给定的文本文件中统计输出每一个单词出现的总次数环境准备在 /opt/test 目录下创建一个文件 wordcount.txt ,里面键入几个单词,并用空格分隔开Java实现package com.zyd;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FSDataInputStream;import org.apache.hadoop.fs.FileSyst原创 2021-08-05 12:39:43 · 345 阅读 · 0 评论 -
HDFS中DateNode工作机制
目录DateNode工作机制详细流程数据完整性掉线时限参数设置DateNode目录结构目录目录结构具体解释服役新数据节点需求环境准备服役新节点具体步骤退役旧的数据节点DataNode多目录配置DateNode工作机制详细流程一个数据块在datanode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。 DataNode启动后向namenode注册,通过后,周期性(1小时)原创 2021-07-30 23:22:45 · 476 阅读 · 1 评论 -
HDFS总结
目录HDFS的组成NameNodeDataNodeSecondaryNameNodeHDFS的操作HDFS的命令行操作Java API操作hadoop分布式文件存储系统,用来解决海量数据的存储问题HDFS的组成------核心配置文件:hdfs-site.xml、core-site.xmlNameNode:负责整个HDFS集群的管理(比如监控DataNode的运行状态、调度DataNode去处理数据);存储元数据(包含数据的基本信息,有两个重要文件:fsimage,原创 2021-07-30 22:51:32 · 321 阅读 · 0 评论 -
HDFS读写流程
HDFS写数据流程数据写入流程 客户端向namenode请求上传文件,namenode检查目标文件是否已存在,父目录是否存在。 namenode返回是否可以上传。 客户端请求第一个block上传到哪几个datanode服务器上。 namenode返回3个datanode节点,分别为dn1、dn2、dn3。 客户端请求dn1上传数据,dn1收到请求会继续调用dn2,然后dn2调用dn3,将这个通信管道建立完成。 dn1、dn2、dn3逐级应答客.原创 2021-07-29 20:47:46 · 50 阅读 · 0 评论 -
HDFS中NameNode工作机制
引言NameNode:存储元数据 管理整个HDFS集群DataNode:存储数据的blockSecondaryNameNode:辅助HDFS完成一些事情NameNode和SecondaryNameNode工作流程编辑日志文件:edits记载客户端对HDFS的增删改查的操作日志镜像文件:fsimage记载元数据(HDFS上存储的文件目录)及操作日志NameNode和SecondaryNameNode工作机制工作流程详解...原创 2021-07-29 20:46:23 · 601 阅读 · 0 评论 -
HDFS的Java API操作
通过Java代码操作HDFS集群目录引言Idea连接HDFS第一步:引入HDFS依赖第一种引入方式(jar包)第二种引入方式(使用maven引用)引入项目依赖的时候:maven项目的几个核心的生命周期:第二步:idea操作配置HDFS的访问路径单元测试HDFS的JavaAPI基本操作Maven依赖准备hdfs文件系统的API使用操作HDFS:连接HDFS文件系统------是必备操作(见二、idea连接HDFS)对HDFS进行操作递.原创 2021-07-29 17:01:25 · 1186 阅读 · 0 评论 -
HDFS(Hadoop Distributed File System )概述
目录一、HDFS概述二、HDFS特点三、HDFS集群组成:主从架构---一个主节点,多个从节点1. NameNode(名称节点 / 主节点)-----HDFS集群的管理者2. DataNode (数据节点 / 从节点)3. SecondaryNameNode (第二名称节点)三、HDFS传输文件方式四、HDFS常用命令五、如何实现启动HDFS和yarn的时候不输入密码一、HDFS概述Hadoop 分布式文件系统,用于存储文件,与Windows不同的是他是一个分布.原创 2021-07-26 11:06:47 · 304 阅读 · 0 评论