Hadoop技术介绍
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Hive Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一 张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务 进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的 MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分 析。 数据存储 Table 每个表对应HDFS上一个目录。 Partition 对指定列根据列值进行分区,每个区一个目录。 Bucket 对指定列进行Hash分区,每个区一个目录。 External Table 对应HDFS一个目录路径,删除表,数据不会删除
负责MapReduce的Job调度
SecondaryNameNode
对NameNode元数据的备份服务
DataNode
数据节点,响应客户端的数据请求
TaskTracker
负责MapReduce的任务调度
集群拓扑结构
内部公开▲
数据存取策略
HDFS上的最小数据单元为Block。原始文件被分成1个或者多个Block,默认 Block大小为64M,默认存储3份Block。 由NameNode决定三份Block分别存放在哪些DataNode上。根据散列算法出第一份 数据的存放节点,在同一机架(Rack)中的另一个DataNode保存第二份数据,在不同 机架的另一个DataNode保存第三份数据。NameNode记录了数据的所有位置信息。 客户端对数据的存取都是直接与DataNode之间进行数据传输,NameNode向客户端 反馈数据的位置信息和数据节点的信息。
内部公开▲
Hadoop技术介绍
CRM 产品线 – 邹启蒙
内部公开▲
目录
Hadoop是什么 Hadoop是如何运作的
Hadoop能做什么
大数据时代三架马车
前言
内部公开▲
内部公开▲
Hadoop是由Apache基金会研发的开源的分布式计算框架和 分布式文件系统。是对Google的MapReduce和GFS的开源实现。
存储格式 HFile HLogFile
HBase中KeyValue数据的存储格式,HFile是Hadoop的二进制格式文件。 HBase中WAL(Write Ahead Log) 的存储格式,物理上是Hadoop的Sequence File。
内部公开▲
内部公开▲
相关框架 ZooKeeper
内部公开▲
目录
Hadoop是什么 Hadoop是如何运作的
Hadoop能做什么
大数据时代三架马车
内部公开▲
Hadoop不是万能的
离线海量数据分析 一次写入,多次读取 海量历史数据统计分析 非结构化数据处理
日志分析 用户行为分析 分布式并行计算应用 复杂算法计算 圆周率…
内部公开▲
目录
Zookeeper是Google的Chubby一个开源的实现,是高有效和可靠的协同工作系统, Zookeeper能够用来Leader选举,配置信息维护等。
Sqoop
Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一 个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中, 也可以将HDFS的数据导进到关系型数据库中。
内部公开▲
内部公开▲
Hadoop操作命令
Hadoop命令与大部分linux文件操作命令相同或者类似。分为以下几类命令。 启动命令 start-all.sh stop-all.sh start… 管理命令 hadoop dfsadmin hadoop namenode hadoop fsck 文件操作命令 hadoop fs –ls hadoop fs –put hadoop fs -get
分布式计算框架(MapReduce)
Map(映射) 对数据做键值映射,可理解为Group By。 Reduce(化简) 对Map阶段的输出结果进行汇总。
Hadoop Distribute FileSystem(HDFS)
高扩展性 可以方便的扩展数据节点。 高效性 基于高速网络快速的在各节点之间传输数据。 高容错性 一份数据存放多个副本,自动重新分配失败的任务。
内部公开▲
目录
Hadoop是什么 Hadoop是如何运作的
Hadoop能做什么
大数据时代三架马车
内部公开▲
MapReduce
化大为小
化繁为简
开发方式
实现map函数 实现reduce函数
内部公开▲
统计词频
方法一 写一个小程序遍历整个文件,统计每一个遇到的词的出现次数。 方法二 写一个多线程并发遍历整个文件。
多线程并发控制
方法三 将程序放到多台机器上执行。
部署麻烦,需要人工copy、整合
方法四 MapReduce。
只需实现Map和Reduce的逻辑,MapReduce框架已经帮我们实现了文件分割、同步 Copy、合并等工作。
内部公开▲
HDFS
NameNode
命名服务器、记录元数据的信息
JobTracker
内部公开▲
Hbase (Hadoop DataBase) HBase是一个分布式的、面向列的开源数据库。Hbase依托于Hadoop的HDFS 作为最基本存储基础单元。
wenku.baidu.com基本服务 HMaster
管理元数据的信息 管理HRegionServer的负载均衡
HRegionServer
响应用户I/O请求
启动整个集群服务 停止整个集群服务 单个服务的启动、停止 集群管理命令 命名节点管理命令 文件系统检查命令
localpath hdfspath
hdfspath localpath
Job管理命令 hadoop job –list hadoop job –kill jobid
mapreduce任务列表 杀死mapreduce任务
Hadoop是什么 Hadoop是如何运作的
Hadoop能做什么
大数据时代三架马车
内部公开▲
Hive/Pig 数据仓库工具 HBase 列式数据库 Hadoop 数据底层 ETL BI Report RDBMS
Pig MapReduce
HBase
Hive
ZooKeeper
HDFS
Thrift
内部公开▲