[整理]大数据介绍教学讲义ppt课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
HDFS原理简介-分布式文件系统
HDFS主要特点: 存储大文件 将大文件分割成很多小块存储 流式数据读取,“write one read many” 本身是分布式的,具备良好的可扩展性 框架可以运行在任何普通的PC上。 通过放开POSIX要求,极大改善数据读写性能
HDFS不适合于:
存储大量小文件(<1MB)
HBase是一个高可靠、高性能、面向列、可伸缩的分布式存储系统,利用Hbase技术可在廉价PC Server上搭建大规模结构化存储集群。HBase 是Google Bigtable 的开源实现,与Google Bigtable 利用GFS作为其文件存储系统类似,HBase 利用Hadoop HDFS 作为其文件存储系统;Google 运 行MapReduce 来处理Bigtable中的海量数据, HBase 同样利用Hadoop MapReduce来处理HBase 中的海量数据;Google Bigtable 利用Chubby作为协同服务, HBase 利用Zookeeper作为对应
揭开Hadoop神秘的面纱
•Hadoop是Apache基金会的一个项目总称,主要由HDFS、Yarn、MapReduce和HBase等组 成。 HDFS是对Google GFS的开源实现,MapReduce是对Google MapReduce的开源实 现,HBase是Google BigTable的开源实现。 •Hadoop 来源于其创始人Doug Cutting的儿子给一头黄色大象取的名字。 •Hadoop最初只与网页索引有关,迅速发展成为分析大数据的领先平台。
有人问HBase和HDFS是啥关系,HBase是利用HDFS的存储的,就像MySQL和磁盘, MySQL 是应用,磁盘是具体存储介质。HDFS因为自身的特性,不适合随机查找,对更新操作不太友好, 比如百度网盘就是拿HDFS构建的,它支持上传和删除,但不会让用户直接在网盘上修改某个文 件的内容。
HBase的表有以下特点: 1 ) 大:一个表可以有上亿行,上百万列。 2 ) 面向列:面向列表(簇)的存储和权限控制,列(簇)独立检索。 3 ) 稀疏:对于为空(NULL)的列,并不占用存储空间,因此,表可以设计的非常稀疏。 HBase提供的访问方式有命令行shell方式,java API(最高效和常用的),Thrift Gateway 支持 C++,PHP,Python等多种语言。
HIVE数据仓库 MapReduce
三、各处理流程相关技术简析 数据展现
聚类算法结果展示
• 方案采用的Hadoop模块列表 • HDFS,用于大规模数据存储 • Yarn,系统资源管理 • Hive,基于Mapreduce的SQL数据访问 • Pig,脚本式数据处理 • Storm,流式数据处理 • Spark/Spark Streaming,内存计算框架 • HBase,Key-Value数据存储 • MapReduce,离线批处理计算框架 • Kafka,消息队列式流失数据接入
9.1.1. NoSQL? HBase是一种 "NoSQL" 数据库. "NoSQL"是一个通用词表示数据库不是RDBMS ,后者支持 SQL 作为主要访问手段。HBase 是大型分布式 数据库。 技术上来说, HBase 更像是"数据存储(Data Store)" 多于 "数据库(Data Base)"。因为缺少很多RDBMS特性, 如列类型,第二索引, 触发器,高级查询语言等. 然而, HBase 有许多特征同时支持线性化和模块化扩充。 HBase 集群通过增加RegionServers进行扩充。 它可以放在普通的服务器中。例 如,如果集群从10个扩充到20个RegionServer,存储空间和处理容量都同时翻倍。 RDBMS 也能很好扩充, 但仅对一个点 - 特别是对一 个单独数据库服务器的大小 - 同时,为了更好的性能,需要特殊的硬件和存储设备。 HBase 特性: 强一致性读写: HBase 不是 "最终一致性(eventually consistent)" 数据存储. 这让它很适合高速计数聚合类任务。 自动分片(Automatic sharding): HBase 表通过region分布在集群中。数据增长时,region会自动分割并重新分布。 RegionServer 自动故障转移 Hadoop/HDFS 集成: HBase 支持本机外HDFS 作为它的分布式文件系统。 MapReduce: HBase 通过MapReduce支持大并发处理, HBase 可以同时做源和目标. Java 客户端 API: HBase 支持易于使用的 Java API 进行编程访问. Thrift/REST API: HBase 也支持Thrift 和 REST 作为非Java 前端. Block Cache 和 Bloom Filters: 对于大容量查询优化, HBase支持 Block Cache 和 Bloom Filters。 运维管理: HBase提供内置网页用于运维视角和JMX 度量. 9.1.2. 什么时候用 HBase? HBase不适合所有问题. 首先,确信有足够多数据,如果有上亿或上千亿行数据,HBase是很好的备选。 如果只有上千或上百万行,则用传统的RDBMS可能是更 好的选择。因为所有数据可以在一两个节点保存,集群其他节点可能闲置。 其次,确信可以不依赖所有RDBMS的额外特性 (e.g., 列数据类型, 第二索引, 事物,高级查询语言等.) 一个建立在RDBMS上应用,如不能仅 通过改变一个JDBC驱动移植到HBase。相对于移植, 需考虑从RDBMS 到 HBase是一次完全的重新设计。 第三, 确信你有足够硬件。甚至 HDFS 在小于5个数据节点时,干不好什么事情 (根据如 HDFS 块复制具有缺省值 3), 还要加上一个 NameNode. HBase 能在单独的笔记本上运行良好。但这应仅当成开发配置。 9.1.3. HBase 和 Hadoop/HDFS 的区别? HDFS 是分布式文件系统,适合保存大文件。官方宣称它并非普通用途文件系统,不提供文件的个别记录的快速查询。 另一方面,
HRegionServer内部管理了一系列HRegion对象,每个HRegion 对应Table中的一个Region。HRegion由多个Store组成。每个 Store对应Table中的一个Column Family的存储,即一个Store 管理一个Region上的一个列族(CF)。每个Store包含一个 MemStore和0到多个StoreFile。Store是HBase的存储核心,由 MemStore 和 StoreFile组成。
AVBiblioteka BaiduO
Pig HBase
Hive
Sqoop
Map Reduce
YARN HDFS
为确保文件块的容错性,同 时提供更快的数据读取,默 认每个数据块有3个副本,且 分布在不同的数据节点DN上。
CD DN #5
A DN #6
File A File B File C File D
HBase原理简介-分布式数据库
大数据介绍
传统的数据处理系统面临的问题,呼唤新的技术
数据扩 展性需 求和硬 件性能 之间存 在差距
• 海量数据的高存储成本
• 大数据量下的数据处理 性能不足
• 流式数据处理缺失
• 有限的扩展能力
1 目前数据系统架构存在问题
三、各处理流程相关技术简析 数据预处理
SQL与HBASE、HIVE之间进行内容传递时,需要一个数据转移工具,如Sqoop。 其工作过程如下:
SQL
Sqoop
Sqoop
Sqoop Sqoop
Map
Map
Map
HDFS/HIVE/HBase
三、各处理流程相关技术简析 数据存储
HDFS结构
三、各处理流程相关技术简析 数据存储
三、各处理流程相关技术简析 数据分析挖掘
Maout挖掘 数据价值
HIVE查询统 计用户行为 数据
HDFS
机器学习、数据挖掘、语义搜索…… MapReduce
实时数据读取 需经常修改数据的场景
NameNode, 元数据信息都
文件被切分成 大小相同的块 (最末尾的块
DataNode, 文件就放它上 了。
在这。
可能小于块大
小),并存储
在不同的数据 节点上。
AC
AB
B
DN #1
DN #2
CD DN #3
NN #1
BD DN #4
BookKeeper ZooKeeper