摘要:
Shuffle的本意是洗牌、混乱的意思,类似于java中的Collections.shuffle(List)方法,它会随机地打乱参数list里的元素顺序。MapReduce中的Shuffle过程。所谓Shuffle过程可以大致的理解成:怎样把map task的输出结果有效地传送到reduce输入端。 阅读全文
摘要:
MapReduce的输入输出 一个MapReduce作业的输入和输出类型:会有三组<key , value>键值对类型的存在 Mapreduce作业的处理流程 按照时间顺序包括: 输入分片(input split) 在进行map计算之前,mapreduce根据输入文件计算输入分片,每个输入分片针对一 阅读全文
摘要:
在Hadoop中,一个MapReduce作业会把输入的数据集切分为若干独立的数据块,由Map任务以完全并行的方式处理。框架会对Map的输出先进行排序,然后把结果输入给Reduce任务。作业的输入和输出都会被存储在文件系统中,整个框架负责任务的调度和监控,以及重新执行已关闭的任务。MapReduce框 阅读全文
摘要:
MapReduce是什么? Hadoop MapReduce是一个软件框架,基于该框架能够容易地编写应用程序,这些应用程序能够运行在由上千个商用机器组成地大集群上,并以一种可靠的,具有容错能力的方式并行地处理上TB级别地海量数据集。 MapReduce工作机制 Mapreduce 的4个对象 1、客 阅读全文
摘要:
一、SquenceFile 文件中每条记录是可序列化,可持久化的键值对,提供相应的读写器和排序器,写操作根据压缩的类型分为3种。 Write 无压缩写数据 RecordCompressWriter记录级压缩文件,只压缩值 BlockCompressWrite块级压缩文件,键值采用独立压缩方式 在存储 阅读全文
摘要:
减少储存文件所需空间,还可以降低其在网络上传输的时间。压缩算法对比 算法 原始文件大小 压缩后文件大小 压缩速度 解压缩速度Gzip 8.3G 1.8G 17.5MB/s 58MB/sBzip2 1.1 2.4MB/s 9.5MB/sLZO-bset 2 4MB/s 60.6MB/sLZO 2.9 阅读全文
摘要:
前言:为什么Hadoop基本类型还要定义序列化? 1、Hadoop在集群之间通信或者RPC调用时需要序列化,而且要求序列化要快,且体积要小,占用带宽小。 2、java的序列化机制占用大量计算开销,且序列化结构体积过大,它的引用机制也导致大文件不能被切分,浪费空间,此外,很难对其他语言进行扩展使用。 阅读全文
摘要:
HDFS和MR主要针对大数据文件来设计,在小文件处理上效率低.解决方法是选择一个容器,将这些小文件包装起来,将整个文件作为一条记录,可以获取更高效率的储存和处理,避免多次打开关闭流耗费计算资源.hdfs提供了两种类型的容器 SequenceFile和MapFile。小文件问题的解决方案: 在原有HD 阅读全文
摘要:
HDFS数据完整性 用户希望存储和处理数据的时候,不会有任何损失或者损坏。 Hadoop提供两种校验 1、校验和 常用的错误检测码是:CRC-32(循环冗余校验)使用CRC-32算法任何大小的数据输入均计算得到一个32位的整数校验码。 2、运行后台进程来检测数据块 校验和 1、写入数据节点验证 Hd 阅读全文
摘要:
文件系统元数据的持久化 Namenode存储HDFS的元数据。对于任何对文件元数据产生修改的操作,Namenode都使用一个称为Editlog的事务日志记录下来。例如,在HDFS中创建一个文件,Namenode就会在Editlog中插入一条记录来表示;同样,修改文件的replication因子也将往 阅读全文