资源描述
*,大数据平台介绍,大数据,二零一五年七月,大数据平台介绍大数据,1,2,目录,Hadoop,大数据生态圈介绍,大数据应用介绍,3,Cloudera Manager,介绍,12目录Hadoop大数据生态圈介绍大数据应用介绍3Clou,Hadoop,大数据生态圈,Hadoop大数据生态圈,Hadoop,生态圈,Hadoop生态圈,Hadoop,简介,Hadoop,一个分布式系统基础架构,由,Apache,基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。,简单地说来,,Hadoop,是一个可以更容易开发和运行处理大规模数据的软件平台。,Hadoop,的框架最核心的设计就是:,HDFS,和,MapReduce,。,HDFS,为海量的数据提供了存储,则,MapReduce,为海量的数据提供了计算。,Hadoop简介Hadoop一个分布式系统基础架构,由Ap,Hadoop,能解决哪些问题,海量数据需要及时分析和处理。,海量数据需要深入分析和挖掘。,数据需要长期保存,问题:,磁盘IO成为一种瓶颈,而非CPU资源。,网络带宽是一种稀缺资源,硬件故障成为影响稳定的一大因素,Hadoop能解决哪些问题海量数据需要及时分析和处理。,HDFS,适应条件,HDFS,:为以流式数据访问模式存储超大文件而设计的文件系统。,流式数据访问,指的是几百,MB,,几百,GB,,几百,TB,,甚至几百,PB,流式数据访问,HDFS,建立的思想是:一次写入、多次读取模式是最高 效的。,商用硬件,hadoop,不需要运行在昂贵并且高可靠的硬件上,。,HDFS适应条件HDFS:为以流式数据访问模式存储超大文件,HDFS,不适应条件,低延迟数据访问,HDFS,是为了达到高数据吞吐量而优化的,这是以延迟为代价的,对于低延迟访问,可以用,Hbase,(,hadoop,的子项目)。,大量的小文件,多用户写入,任意修改,HDFS不适应条件低延迟数据访问,HDFS,基本单元,Block(,块,),:,HDFS,基本储存单元,是个逻辑单元。一个文件有可能包含多个块,一个块有可以包含多个文件,由文件的大小和块大小的参数决定。,dfs.block.size,参数。,Hdfs,中,Block,的大小,默认,64MB,,如果设置大,就会有可能导致,Map,运行慢,设置小,有可能导致,Map,个数多,所有一定要设置适当。(目前主流机器建议设置为,128M,),设置一个,Block 64MB,,如果上传文件小于该值,仍然会占用一个,Block,的命名空间(,NameNode metadata,),但是物理存储上不会占用,64MB,的空间,Block,大小和副本数由,Client,端上传文件到,HDFS,时设置,其中副本数可以变更,,Block,是不可以再上传后变更的,HDFS基本单元Block(块):HDFS基本储存单元,是,HDFS,处理机制,Client,:切分文件;访问,HDFS,;与,NameNode,交互,获取文件位置信息;与,DataNode,交互,读取和写入数据。,NameNode,:,Master,节点,管理,HDFS,的名称空间和数据块映射信息,配置副本策略,处理客户端请求。,DataNode,:,Slave,节点,存储实际的数据,汇报存储信息给,NameNode,。,Secondary NameNode,:辅助,NameNode,,分担其工作量;定期合并,fsimage,和,fsedits,,推送给,NameNode,;紧急情况下,可辅助恢复,NameNode,,但,Secondary NameNode,并非,NameNode,的热备,HDFS处理机制Client:切分文件;访问HDFS;与N,HDFS,文件读取,HDFS文件读取,MapReduce,简介,简介,MapReduce,是一个,高性能,的,批处理分布式计算框架,,用于,对海量数据进行并行分析和处理,。,MapReduce,将分析任务分为大量的并行,Map,任务和,Reduce,任务两类。,与传统数据仓库和分析技术相比,,MapReduce,适合处理各种类型的数据,包括结构化、半结构化和非结构化数据。,结构化、半结构化、非结构化数据,结构化数据(即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据),不方便用数据库二维逻辑表来表现的数据即称为非结构化数据(包括所有格式的办公文档、文本、图片、,XML,、,HTML,、各类报表、图像和音频,/,视频信息等等),所谓半结构化数据,就是介于完全结构化数据(如关系型数据库、面向对象数据库中的数据)和完全无结构的数据(如声音、图像文件等)之间的数据,,HTML,文档就属于半结构化数据。它一般是自描述的,数据的结构和内容混在一起,没有明显的区分。,MapReduce简介简介,MapReduce,简介,适合处理的任务,适用于,离线批处理,任务,是以“行”为处理单位的,无法回溯已处理过的“行”,故每行都必须是一个独立的语义单元,行与行之间不能有语义上的关联。,相对于传统的关系型数据库管理系统,,MapReduce,计算模型更适合于处理半结构化或无结构话的数据。,不适合处理的任务,不适合一般,web,应用,不适合实时响应的任务,不适合小数据集的处理,不适合需要大量临时空间的任务,不适合,CPU,密集且具有许多交叉调用的任务,MapReduce简介适合处理的任务,MapReduce,工作原理,MapReduce,执行流程,MapReduce,角色,Client,:作业提交发起者。,JobTracker:,初始化作业,分配作业,与,TaskTracker,通信,协调整个作业。,TaskTracker,:保持,JobTracker,通信,在分配的数据片段上执行,MapReduce,任务。,任务的分配,TaskTracker,和,JobTracker,之间的通信与任务的分配是通过心跳机制完成的。,TaskTracker,会主动向,JobTracker,询问是否有作业要做,如果自己可以做,那么就会申请到作业任务,这个任务可以使,Map,也可能是,Reduce,任务。,MapReduce工作原理MapReduce执行流程,MapReduce,工作原理,任务的执行,申请到任务后,,TaskTracker,会做如下事情:,拷贝代码到本地,拷贝任务的信息到本地,启动,JVM,运行任务,状态与任务的更新,任务在运行过程中,首先会将自己的状态汇报给,TaskTracker,,然后由,TaskTracker,汇总告之,JobTracker,。,作业的完成,JobTracker,是在接受到最后一个任务运行完成后,才会将任务标志为成功。,此时会做删除中间结果等善后处理工作。,MapReduce工作原理任务的执行,MapReduce,工作原理,MapReduce工作原理,Hadoop,实例,根据,URL,的顶级域名进行分类统计,输入、输出格式:文件,源文件格式如下:,统计目标:,Hadoop实例根据URL的顶级域名进行分类统计,Hadoop,实例,1.,编写,MapReduce,函数,客户端作业,Map,函数,Hadoop实例1.编写MapReduce函数,客户端作,Hadoop,实例,Reduce,函数,Job,设置,Hadoop实例Reduce函数,Hadoop,实例,编译、打包成,jar,文件,略,3.,源文件提交到,HDFS,文件系统,文件从本地提交到,HDFS,文件系统,put,命令,查看,HDFS,文件系统中已提交的文件,Hadoop实例编译、打包成jar文件,Hadoop,实例,使用,Hadoop,命令提交作业,提交作业,查看作业,http:/localhost:50030,Hadoop实例使用Hadoop命令提交作业,Hadoop,实例,查看执行结果,查看执行结果生成的文件,查看,HDFS,文件系统中的结果,HDFS,文件拷贝到本地,查看结果,Hadoop实例查看执行结果,Hive,简介,Hive,是什么,hive,是基于,Hadoop,的一个,数据仓库,工具,可以将,结构化,的数据文件,映射,为一张,数据库表,,并提供完整的,sql,查询功能,,可以将,sql,语句转换为,MapReduce,任务进行运行。其优点是学习成本低,可以通过类,SQL,语句快速实现简单的,MapReduce,统计,不必开发专门的,MapReduce,应用,十分适合数据仓库的统计分析。,Hive,是建立在,Hadoop,上的,数据仓库基础构架,。它提供了一系列的工具,可以用来进行,数据提取转化加载(,ETL,),,这是一种可以,存储,、,查询,和,分析,存储在,Hadoop,中的大规模数据的机制。,Hive,定义了简单的类,SQL,查询语言,称为,HQL,,它允许熟悉,SQL,的用户查询数据。同时,这个语言也允许熟悉,MapReduce,开发者的开发自定义的,mapper,和,reducer,来处理内建的,mapper,和,reducer,无法完成的复杂的分析工作。,Hive简介Hive是什么,Hive,实例,创建托管表,1.,在,Hive,命令行执行建表语句,2.,查看元数据库中的表信息、字段信息,sds,、,columns_v2,Hive实例创建托管表,Hive,实例,3.,从本地向,net_addr_1,表中导入数据,4.,查看导入的数据,Hive实例3.从本地向net_addr_1表中导入数据,Hive,实例,根据,URL,的顶级域名进行分类统计,-Hive,实现,1.,源数据入表,略,,使用已生成的,net_addr_1,2.,源数据加工转换,生成中间表,INSERT OVERWRITE TABLE net_addr_3 select net_id,regexp_replace(net_url,(.+.),)from net_addr_1;,3.,根据中间表数据进行统计,Hive实例根据URL的顶级域名进行分类统计-Hive实现,Hbase,简介,HBase,是一个针对结构化数据的可伸缩、高可靠、高性能、分布式和面向列的动态模式数据库。和传统关系数据库不同,,HBase,采用了,BigTable,的数据模型:增强的稀疏排序映射表(,Key/Value,),其中,键由行关键字、列关键字和时间戳构成。,HBase,提供了对大规模数据的随机、实时读写访问,同时,,HBase,中保存的数据可以使用,MapReduce,来处理,它将数据存储和并行计算完美地结合在一起。,利用,HBase,技术可在廉价,PC Server,上搭建起大规模结构化存储集群,Hbase简介HBase是一个针对结构化数据的可伸缩、高可,Hbase,架构,Hbase架构,Hbase,实例,1,、构建,Hbase,表,hbase_test,hbase create hbase_test,id01,2,、构建,hive,外表,hive_test,并对应,hbase_test,表,CREATE EXTERNAL TABLE hive_test(id01 STRING),STORED BY org.apache.hadoop.hive.hbase.HBaseStorageHandler,WITH SERDEPROPERTIES(hbase.columns.mapping=:key,id01),TBLPROPERTIES(hbase.table.name=hbase_test);,3,、数据通过,hive_test,导入到,hbase_test,表中,INSERT OVERWRITE TABLE hive_test SELECT id01 FROM hive_date;,Hbase实例1、构建Hbase表hbase_test,Hbase,实例,Hbase实例,大数据应用介绍,大数据应用介绍,用户上网行为分析系统,用户上网行为分析系统,用户行为分析系统数据处理流程图,用户行为分析系
展开阅读全文