大数据与hbase应用

上传人:壹****1 文档编号:568529618 上传时间:2024-07-25 格式:PPT 页数:41 大小:1.20MB
返回 下载 相关 举报
大数据与hbase应用_第1页
第1页 / 共41页
大数据与hbase应用_第2页
第2页 / 共41页
大数据与hbase应用_第3页
第3页 / 共41页
大数据与hbase应用_第4页
第4页 / 共41页
大数据与hbase应用_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《大数据与hbase应用》由会员分享,可在线阅读,更多相关《大数据与hbase应用(41页珍藏版)》请在金锄头文库上搜索。

1、1大数据与大数据与hbasehbasehadoophadoop与与hbasehbase的介绍和开发应用的介绍和开发应用2014年10月16日2目 录大数据与HADOOP介绍1HDFS介绍2Hbase介绍3Hbase应用431 1、WINDOWSWINDOWS进程间通信方式进程间通信方式第一章大数据与HADOOP介绍4第一章 HADOOP介绍1 1、大数据的背景与定义、大数据的背景与定义5日益信息化的时代6大数据的定义与特征“Big data is data that exceeds the processing capacity of conventional database systems

2、” OReilly Radar, “What Is Big Data?”, January 2012所谓大数据,就是用现有的一般技术难以管理的大量数据的集合 - - 野村综合研究所 大数据顺应大规模信息化到新阶段而诞生的 数据库革命性运动NoSQL (NoSQL = Not Only SQL )不同的NoSQL场景不同,可比性不高原则:解放思想,事实求是7大数据的挑战一个关系型数据库的表数据量上亿时分区分表分库导致上层复杂度提高,成本倍增IO天花板,非线性单机计算8大数据对系统的需求Highperformance高并发读写的需求高并发读写的需求高并发、实时动态获取和更新数据HugeStorag

3、e海量数据的高效率存储和访问的海量数据的高效率存储和访问的需求需求类似SNS社会性网络服务网站,海量用户信息的高效率实时存储和查询HighScalability&HighAvailability高可扩高可扩展性和高可用性的需求展性和高可用性的需求需要拥有快速横向扩展能力、提供7*24小时不间断服务9第一章 HADOOP介绍2 2、HADOOPHADOOP起源和特点起源和特点10Hadoop的创立和演进谷歌三大论文GFS(2003)Sanjay Ghemawat(美国工程院士)(GFS,MR,Bigtable)Howard GobioffShun-Tak Leungmap/reduce (200

4、4)Dean Jeffrey(美国工程院士)(Adsense,pb,News,Code search)Sanjay GhemawatBigtable(2006)Fay ChangDean JeffreySanjay Ghemawat.Doug Cutting和YahooLucene - Nutch - Hadoop11大数据主要应用技术Hadoopl可扩展:不论是存储的可扩展还是计算的可扩展都是Hadoop的设计根本。l经济:框架可以运行在任何普通的PC上。l可靠:分布式文件系统的备份恢复机制以及MapReduce的任务监控保证了分布式处理的可靠性。l高效:分布式文件系统的高效数据交互实现以及

5、MapReduce结合LocalData处理的模式,为高效处理海量的信息作了基础准备12大数据主要应用技术HadoopHadoop作为新一代的架构和技术,因为有利于并行分布处理“大数据”而备受重视。ApacheHadoop是一个用java语言实现的软件框架,在由大量计算机组成的集群中运行海量数据的分布式计算,它可以让应用程序支持上千个节点和PB级别的数据。Hadoop是项目的总称,主要是由分布式存储(HDFS)、分布式计算(MapReduce)等组成13Hadoop解决了什么难题?简单地想想看,假设我们需要读一个10TB的数据集,怎么办?在传统的系统上,这需要很长时间,因为硬盘的传输速度是受限

6、的。一个简单的办法是将数据存储在多个磁盘上,同时从多个磁盘并行读取数据,这将大大减少读取时间14Hadoop的基本概念分布式存分布式存储储HDFS文件分块自行备份分布式分布式计计算算Map/Reduce 函数式设计(map /reduce)15第一章 HADOOP介绍3 3、MapReduceMapReduce16Hadoop解决了什么难题?化整化整为为零零,分片分片处处理;理;本地化本地化计计算算,并行并行IO,降低网降低网络络通信通信17MapReduce映射、化简编程模型1.根据输入数据的大小和参数的设置把数据分成splits,每个split对于一个map线程。2.Split中的数据作为

7、Map的输入,Map的输出一定在Map端。3.Map的输出到Reduce的输入的过程(shuffle过程):第一阶段:在map端完成内存-排序-写入磁盘-复制第二阶段:在reduce端完成映射到reduce端分区-合并-排序4.Reduce的输入到Reduce的输出最后排好序的key/value作为Reduce的输入,输出不一定是在reduce端。MapReduce是一种编程模型,用于大规模数据集的并行运算。Map(映射)和Reduce(化简),采用分而治之思想,先把任务分发到集群多个节点上,并行计算,然后再把计算结果合并,从而得到最终计算结果。多节点计算,所涉及的任务调度、负载均衡、容错处理

8、等,都由MapReduce框架完成,不需要编程人员关心这些内容。181 1、WINDOWSWINDOWS进程间通信方式进程间通信方式第二章HDFS介绍19HDFS分布式文件系统NameNode可以看作是分布式文件系统中的管理者,存储文件系统的meta-data,主要负责管理文件系统的命名空间,集群配置信息,存储块的复制。DataNode是文件存储的基本单元。它存储文件块在本地文件系统中,保存了文件块的meta-data,同时周期性的发送所有存在的文件块的报告给NameNode。Client就是需要获取分布式文件系统文件的应用程序。HDFS是一个高度容错性的分布式文件系统,能提供高吞吐量的数据访

9、问,非常适合大规模数据集上的应用。20HDFS特点可扩展,只需添加服务器健壮性,高度容错性,文件删除恢复机制机架感知数据冗余, 副本机制负载均衡适合流式访问,一次写入,多次读取默认块大小64MB,适合PB级以上数据的存储和处理MapReduce分布式计算框架, 利用存储节点的CPU资源21HDFS优缺点HDFS优优点:点:适合大数据处理(支持GB,TB,PB级别的数据存储,支持百万规模以上的文件数量)适合批处理(支持离线的批量数据处理,支持高吞吐率)高容错性(以数据块存储,可以保存多个副本,容易实现负载均衡)HDFS缺点:缺点:小文件存取(占用namenode大量内存),1百万个文件,至少30

10、0M内存不支持并发写入(同一时刻只能有一个进程写入,不支持随机修改)多用户写入,任意修改文件低延时(几十毫秒),它是为高数据吞吐量设计的22HDFS分布式文件系统HDFS架构分析架构分析23HDFS分布式文件系统24HDFS分布式文件系统HDFS文件文件读读取流程取流程25HDFS分布式文件系统文件写入流程文件写入流程261 1、WINDOWSWINDOWS进程间通信方式进程间通信方式第二章HBASE的介绍27Hbase简介来源于来源于FayChang所撰写的所撰写的Google论论文文“Bigtable”HBaseHadoopDatabase分布式存分布式存储储系系统统高可靠性高可靠性高性能

11、高性能面向列面向列可伸可伸缩缩可在廉价可在廉价PCServer上搭建上搭建28Hadoo生态环境底底层层HDFS为为HBase提供了可靠的文件存提供了可靠的文件存储储MapReduce为为它提供了高性能的它提供了高性能的计计算算Pig和和Hive提供了提供了HBase的的查询查询功能功能,Hive提供的方法提供的方法类类似与似与SQL语语句句Sqoop提供了提供了Hbase与关系数据与关系数据库库的的导导入入导导出功能出功能Zookeeper提供了提供了协调协调以及以及failover功能功能.29Hbase架构1商品目商品目录录就是一就是一张张大表大表(Bigtable),由商品,由商品编编

12、号号(key)和装商品的木箱和装商品的木箱(ColumnFamily列族列族)组组成。成。2一个一个编编号下商品号下商品(如某如某辆单车辆单车的零件的零件),最好只用一种,最好只用一种规规格箱子就装完,但格箱子就装完,但某些零件大小差某些零件大小差别过别过大,不得不使用多种箱子大,不得不使用多种箱子(多个列族多个列族)3此大型超市此大型超市总总部部(HMaster)以楼以楼层为层为租租赁赁的基本的基本单单位,每位,每层层成成为为一个一个销销售售分区分区(HRegion)。此大型超市租用了好多此大型超市租用了好多栋栋分布在全球各地的分布在全球各地的购购物大楼物大楼(HRegionserver),

13、并托管了商品的存,并托管了商品的存储储和搬运。超市和搬运。超市总总部部(HMaster)只管理只管理到到销销售分区售分区(HRegion),并并记录记录在一在一张张地址本上地址本上(放在内存上放在内存上)4每每层层楼楼销销售分区售分区(HRegion)都放一定范都放一定范围编围编号的商品,如果号的商品,如果这这个范个范围编围编号号的商品的商品过过多了,就会再租多一多了,就会再租多一层层楼来存楼来存储储(分裂(分裂)30HBase架构4,购购物大楼物大楼(HRegionserver)只有一个大只有一个大门门口口负责负责登登记记人人员进员进出出(Hlog);进门进门后后可以通往各个可以通往各个层层

14、楼,每个楼楼,每个楼层层就是一个就是一个销销售分区售分区(HRegion)5,关于一个,关于一个销销售分区售分区(Hregion)a,每每层层楼根据商品木箱楼根据商品木箱(列族列族ColumnFamily)的的规规格多少,分格多少,分为为多个多个专卖专卖店店(Store)b,每个每个专卖专卖店店(Sotre),由促由促销仓销仓(放内存上的放内存上的Memstore)和和0个或多个普通个或多个普通仓仓(放放hfile上的上的Sotrefile)组组成成31HRegionServer入库过程简介32Hstore分流简介Client写入写入-存入存入MemStore,一直到,一直到MemStore满

15、满-Flush成一个成一个StoreFile,直至增,直至增长长到一定到一定阈值阈值-出出发发Compact合并操作合并操作-多个多个StoreFile合并成一个合并成一个StoreFile,同,同时进时进行版本合并和数据行版本合并和数据删删除除-当当StoreFilesCompact后,逐步形成越来越大的后,逐步形成越来越大的StoreFile-单单个个StoreFile大小超大小超过过一定一定阈值阈值后,触后,触发发Split操作,把当前操作,把当前RegionSplit成成2个个Region,Region会下会下线线,新,新Split出的出的2个孩子个孩子Region会被会被HMaste

16、r分配到相分配到相应应的的HRegionServer上,使得原先上,使得原先1个个Region的的压压力得以分流到力得以分流到2个个Region上上33hfile文件格式hfile文件由文件由6部分部分组组成:成:datablock,metablock(可可选选),fileinfo,datablockindex,metablockindex,trailer。datablock存存储储了表数据,了表数据,metablock存存储储了布隆了布隆过滤过滤器索引数据,器索引数据,fileinfo存存储储了本文件的相关信息,了本文件的相关信息,index存存储储了了datablock和和metabloc

17、k的索引数据,的索引数据,trailer存存储储了本文件的相关信息。了本文件的相关信息。341 1、WINDOWSWINDOWS进程间通信方式进程间通信方式第三章HBASE的应用35HBase Shell名称命令表达式创建表create 表名称, 列名称1,列名称2,列名称N添加记录 put 表名称, 行名称, 列名称:, 值查看记录get 表名称, 行名称查看表中的记录总数count 表名称删除记录delete 表名 ,行名称 , 列名称删除一张表先要屏蔽该表,才能对该表进行删除,第一步 disable 表名称 第二步 drop 表名称查看所有记录scan 表名称 查看某个表某个列中所有数据

18、scan 表名称 , 列名称:更新记录 就是重写一遍进行覆盖36Hbase编程封装好的封装好的HbaseDAO例子例子import com.etrans.lib.db.hbase.dao.TrackDaoImpl;private GpsTrack vo = new GpsTrack();方式一方式一TrackDaoImpl trackDao = new TrackDaoImpl();trackDao.openTable(false, 1024 * 1024 * 32); trackDao.insert(vo); /增、改为同一接口trackDao.list(startKey, endKey,

19、selectedColSet, filter);trackDao.closeTable();trackDao = null;方式二方式二TrackDaoImpl trackDao = new TrackDaoImpl();trackDao.insert(vo);trackDao.list(startKey, endKey, selectedColSet, filter);trackDao = null;37Hbase编程TrackDaoImpl操作操作对对象如何初始化象如何初始化初始化表名String CONST_TABLE_NAME = “track; 对象与hbase表字段映射关系Over

20、ride public void initSchema() addHbaseCol(new HbaseCol(artistName, an);addHbaseCol(new HbaseCol(year, ye, true);addHbaseCol(new HbaseCol(downCount, dc, HbaseColType.LONG);如何生成rowkeyOverridepublic byte getRowKey(Track vo) 如何读取key数据Overridepublic void readRowKeyFromResult(Track vo, byte rowkey) 38Hado

21、op技术哪家强? 美国找CLOUDERA在Hadoop生态系统中,规模最大、知名度最高的公司则是Cloudera。2008年成立的Cloudera是最早将Hadoop商用的公司,为合作伙伴提供Hadoop的商用解决方案,主要是包括支持,咨询服务和培训。Cloudera的客户中倒是有很多知名公司,如AOL、哥伦比亚广播公司、eBay、Expedia、摩根大通、Monsanto、诺基亚、RIM和迪士尼等。Cloudera企业解决方案包括Hadoop软件发行版、Cloudera管理器。2014年 英特尔7.4亿美元收购Cloudera 18%股份39HDFS原理、架构与特性介原理、架构与特性介绍绍http:/www.open-

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > 金融/商业/投资

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号