随笔分类 - Hadoop
摘要:概述 压缩技术能够有效减少底层存储系统(HDFS)读写字节数。压缩提高了网络带宽和磁盘空间的效率。在Hadood下,尤其是数据规模很大和工作负载密集的情况下,使用数据压缩显得非常重要。在这种情况下,I/O操作和网络数据传输要花大量的时间。还有,Shuffle与Merge过程同样也面临着巨大的I/O压
阅读全文
摘要:引言 首先先明白在关系型数据库中Join的用法。 Join在MapReduce中的用法也是用于两个文件之间的连接。 使用MR程序解决两张表的join问题,有两种解决方案 à MR程序的join应用 1. reduce端join 在map端将数据封装成Java对象 à 两张表的复合Java对象 在re
阅读全文
摘要:OutputFormat概述 OutputFormat主要是用来指定MR程序的最终的输出数据格式 。 默认使用的是TextOutputFormat,默认是将数据一行写一条数据,并且把数据放到指定的输出目录下,以 part-r-xxxxx数字开头。并且默认情况下有几个ReduceTask就有几个结果文
阅读全文
摘要:MapTask工作机制 并行度决定机制 1)问题引出 maptask的并行度决定map阶段的任务处理并发度,进而影响到整个job的处理速度。那么,mapTask并行任务是否越多越好呢? 2)MapTask并行度决定机制 一个job的map阶段MapTask并行度(个数),由客户端提交job时的切片个
阅读全文
摘要:Shuffle机制 Mapreduce确保每个reducer的输入都是按键排序的。系统执行排序的过程(Map方法之后,Reduce方法之前的数据处理过程)称之为Shuffle。 partition分区 Partition分区流程处于Mapper数据属于初到环形缓冲区时进行,此时会将通过Partiti
阅读全文
摘要:MapReduce工作流程图 流程详解(重点) MapTask 待处理的文本通过submit()方法,获取待处理的数据信息,然后根据InputFormat切片方法机制,生成切片方法文件。把切片方法文件和资源配置文件全部提交在资源路径。提交的信息有:Job.split、wc.jar、Job.xml 把
阅读全文
摘要:InputFormat简介 InputFormat:管控MR程序文件输入到Mapper阶段,主要做两项操作:怎么去切片?怎么将切片数据转换成键值对数据。 InputFormat是一个抽象类,没有实现怎么切片,怎么转换,由它的子类实现。其中InputFormat的默认实现类是FileInputForm
阅读全文
摘要:序列化和反序列化 序列化就是把内存中的对象,转换成字节序列(或其他数据传输协议)以便于存储(持久化)和网络传输。 反序列化就是将收到字节序列(或其他数据传输协议)或者是硬盘的持久化数据,转换成内存中的对象。 主要作用是将MR中产生的数据以序列化类型在网络中、不同的电脑中进行数据传递 引入序列化的原因
阅读全文
摘要:单词计数案例 需求 在一堆给定的文本文件中统计输出每一个单词出现的总次数 环境准备 在 /opt/test 目录下创建一个文件 wordcount.txt ,里面键入几个单词,并用空格分隔开 Java实现 package com.zyd; import org.apache.hadoop.conf.
阅读全文
摘要:DateNode工作机制 详细流程 一个数据块在datanode上以文件形式存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳。 DataNode启动后向namenode注册,通过后,周期性(1小时)的向namenode上报所有的块信息。 心跳是每3
阅读全文
摘要:hadoop分布式文件存储系统,用来解决海量数据的存储问题 HDFS的组成 核心配置文件:hdfs-site.xml、core-site.xml NameNode:负责整个HDFS集群的管理(比如监控DataNode的运行状态、调度DataNode去处理数据);存储元数据(包含数据的基本信息,有两个
阅读全文
摘要:引言 NameNode: 存储元数据 管理整个HDFS集群 DataNode: 存储数据的block SecondaryNameNode: 辅助HDFS完成一些事情 NameNode和SecondaryNameNode工作流程 编辑日志文件:edits 记载客户端对HDFS的增删改查的操作日志 镜像
阅读全文
摘要:HDFS写数据流程 数据写入流程 客户端向namenode请求上传文件,namenode检查目标文件是否已存在,父目录是否存在。 namenode返回是否可以上传。 客户端请求第一个 block上传到哪几个datanode服务器上。 namenode返回3个datanode节点,分别为dn1、dn2
阅读全文
摘要:通过Java代码操作HDFS集群 目录 引言 Idea连接HDFS 第一步:引入HDFS依赖 第一种引入方式(jar包) 第二种引入方式(使用maven引用) 引入项目依赖的时候: maven项目的几个核心的生命周期: 第二步:idea操作 配置HDFS的访问路径 单元测试 HDFS的JavaAPI
阅读全文
摘要:目录 一、HDFS概述 二、HDFS特点 三、HDFS集群组成:主从架构 一个主节点,多个从节点 1. NameNode(名称节点 / 主节点) HDFS集群的管理者 2. DataNode (数据节点 / 从节点) 3. SecondaryNameNode (第二名称节点) 四、HDFS传输文件方
阅读全文

浙公网安备 33010602011771号