hadoop介绍

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统( Distributed File System),其中一个组件是HDFS(Hadoop Distributed File System)。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。以下为hadoop三大组件

  • HDFS 文件系统,负责海量数据的分布式存储
  • yarn 集群资源的管理和调度
  • mapReduce 计算模型,负责海量数据的分布式计算

官方版&发行版

  • Apache Hadoop:官方版本,开源
  • Cloudera Hadoop(CDH):商业版本,提供技术支持,界面操作,方便集群运维管理
  • HortonWorks(HDP):开源,提供界面,方便运维管理,目前HDP已被CDH收购

2.Shuffle过程详解

网络拷贝的过程,指通过网络把数据从Map端拷贝到Reduce端的一个过程。




哪项技术不依赖hadoop 下面哪一项不是hadoop的特性?_哪项技术不依赖hadoop


3.Hadoop 中序列化机制的特点

  • 紧凑:高效实用存储空间
  • 快速:读写数据的额外开销小
  • 可扩展:可透明读取老格式的数据
  • 互操作:支持多语言的交互

InputFormat分析


哪项技术不依赖hadoop 下面哪一项不是hadoop的特性?_Powered by 金山文档_02


OutputFormat分析


哪项技术不依赖hadoop 下面哪一项不是hadoop的特性?_学习_03


4.Mapreduce性能优化

小文件问题

Hadoop的HDFS和MapReduce框架是针对大数据文件来设计的,在小文件的处理上不但效率低下,而且十分消耗内存资源

SequeceFile


哪项技术不依赖hadoop 下面哪一项不是hadoop的特性?_哪项技术不依赖hadoop_04


MapFile

  • MapFile是排序后的SequenceFile,MapFile由两部分组成,分别是index和data。
  • index作为文件的数据索引,主要记录了每个Record的key值,以及该Record在文件中的偏移位置。
  • 在MapFile被访问的时候,索引文件会被加载到内存,通过索引映射关系可迅速定位到指定Record所在文件位置。

hadoop jar hdfsdemo-1.0-SNAPSHOT-jar-with-dependencies.jar mapreduce/WordCountJob /seqFile /out