首页 基于hadoop数据仓库

基于hadoop数据仓库

举报
开通vip

基于hadoop数据仓库基于hadoop的数据仓库技术目录Hadoop简介HDFS(HadoopDistributedFileSystem)MapReduceHive本文的内容主要来自三篇hadoop领域的核心论文1、Hive—APetabyteScaleDataWarehouseUsingHadoop2、MapReduceandParallelDBMSs:FriendsorFoes3、Cheetah:AHighPerformance,CustomDataWarehouseonTopofMapReduce历史2002-2004:Apach...

基于hadoop数据仓库
基于hadoop的数据仓库技术目录Hadoop简介HDFS(HadoopDistributedFileSystem)MapReduceHive本文的内容主要来自三篇hadoop领域的核心论文1、Hive—APetabyteScaleDataWarehouseUsingHadoop2、MapReduceandParallelDBMSs:FriendsorFoes3、Cheetah:AHighPerformance,CustomDataWarehouseonTopofMapReduce历史2002-2004:ApacheNutch2004-2006:Google发表GFS和MapReduce相关论文Apache在Nutch中实现HDFS和MapReduce2006-2008:Hadoop项目从Nutch中分离2008年7月,Hadoop赢得TerabyteSortBenchmarkDougCuttingHadoop项目负责人Hadoop简介Hadoop实现了一个分布式文件系统(HadoopDistributedFileSystem),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(highthroughput)来访问应用程序的数据,适合那些有着超大数据集(largedataset)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streamingaccess)文件系统中的数据。Hadoop简介Hadoop是Apache的一个开源软件项目,由DougCutting在2004年开始开发。Hadoop是一个海量数据存储和计算的分布式系统,它由若干个成员组成,主要包括:HDFS、MapReduce、HBase、Hive、Pig和ZooKeeper,其中HDFS是Google的GFS开源版本,HBase是Google的BigTable开源版本,ZooKeeper是Google的Chubby开源版本。Hadoop在大量的公司中被使用和研究Hadoop的体系 架构 酒店人事架构图下载公司架构图下载企业应用架构模式pdf监理组织架构图免费下载银行管理与it架构pdf Hadoop由以下几个部件组成:HadoopCommon:ThecommonutilitiesthatsupporttheotherHadoopsubprojects.Avro:Adataserializationsystemthatprovidesdynamicintegrationwithscriptinglanguages.Chukwa:Adatacollectionsystemformanaginglargedistributedsystems.HBase:Ascalable,distributeddatabasethatsupportsstructureddatastorageforlargetables.HDFS:Adistributedfilesystemthatprovideshighthroughputaccesstoapplicationdata.Hive:Adatawarehouseinfrastructurethatprovidesdatasummarizationandadhocquerying.MapReduce:Asoftwareframeworkfordistributedprocessingoflargedatasetsoncomputeclusters.Pig:Ahigh-leveldata-flowlanguageandexecutionframeworkforparallelcomputation.ZooKeeper:Ahigh-performancecoordinationservicefordistributedapplications.Hadoop的体系架构Hadoop--HDFSHDFS的结构按照GFS设计AGFSclusterconsistsofasinglemasterandmultiplechunkserversandisaccessedbymultipleclientsHDFSFault-tolerant,容错性Runoncommodityhardware,在通用的机器上运行Scalable可扩缩的http://hadoop.apache.org/hdfs/docs/current/hdfs_design.htmlhttp://labs.google.com/papers/gfs.html1个namenode多个datanodes**HDFSNameNode存贮HDFS的元数据(metadata)管理文件系统的命名空间(namespace)创建、删除、移动、重命名文件和文件夹接收从DataNode来的Heartbeat和BlockreportDataNode存贮数据块执行从Namenode来的文件操作命令定时向NameNode发送Heartbeat和BlockreportHeartbeat和BlockreportNamenodeMetadata:<1,(1,2)><2,(2,3)><3,(1,3)>Datanode1Datanode2Datanode31133221,31,22,3**DataFlowFileRead***DataFlowFileWrite*MapReduce的原理编程模型(programmodel),软件包Map把要处理的数据组合成一个个的对(pair)Reduce把具有相同key的pair聚集在一起,计算一个新的value,从而得到一个新的并输出。MapReduce的原理Mapreduce控制数据流一个Jobtracker多个tasktrackersMapReduceJobtraker(Master)接收任务(job)的提交提供任务的监控(monitoring)和控制(control)把job划分成多个tasks,交给Tasktracker执行,并管理这些tasks的执行Tasktracker(Worker)管理单个task的map任务和reduce任务的执行Wordcount:file0:helloworldfile1:hellomapreducefile2:byebyeInputfilesfile0file2file1<0,“helloworld”><0,“hellomapreduce”><0,“byebye”><“hello”,1><“world”,1><“bye”,2><“hello”,1><“mpareduce”,1><“hello”,2><“world”,1><“mapreduce”,1><“bye”,2>filesfiles目录Hadoop简介HDFS(HadoopDistributedFileSystem)MapReduceHiveHadoop的企业级应用WhatisHIVE数据仓库业务具有多样性、多变性和逻辑复杂性,传统的ParallelDBMSs只能使用SQL语句,语言表达力不够应付现有的类似google,facebook等的数据仓库需求(若使用UDF或UDA自己定义aggregate,则失去了其强大的优化功能),而自己定制的maper和reducer的代码较为低层比较繁琐且重用性也不好,所以就有了Hive,提供一个类SQL的编程接口,简单又不失灵活性,且基于map-reduce.WhatisHIVE(论文翻译)hive是一个基于hadoop的数据仓库。使用hadoop-hdfs作为数据存储层;提供类似SQL的语言(HQL),通过hadoop-mapreduce完成数据计算;通过HQL语言提供使用者部分传统RDBMS一样的 表格 关于规范使用各类表格的通知入职表格免费下载关于主播时间做一个表格详细英语字母大小写表格下载简历表格模板下载 查询特性和分布式存储计算特性。(百科)hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。HIVE架构1、操作界面:CLI,Web,Thrift2、driver:hive系统将用户操作转化为mapreduce计算的模块(重点)3、hadoop:hdfs+mapreduce4、metastore:存储元数据HIVE结合HBasereduce阶段写入HBase的方式map-onlyjob写入HBase的方式HIVE的实现hive的元数据存储在传统的RDBMS中,现在为mysql中。采用JDO(JPOX)。原因:访问这些Metadata,我们想要“很低的延时”,而存在hdfs中是无法满足。(元数据对hive是相当重要的,因此一般要求有备份机制)使用:元数据都是在HQL语句编译的时候,就被生成一个xml文件(包含此次编译所有需要的元数据信息)存储在hdfs中,然后运行mapreduce时传递给mapper和reducer。(减少后期访问)HIVE查询的优化过程GraphWalker遍历(walk)DAG中所有的Node,并检查一个Rule是否满足,在满足的条件下回出发一个对应的Processor。Dispatcher则维护Rule到Processor的映射,并进行Rule的匹配工作。HIVE查询的简单优化步骤1、列裁剪(Columnpruning):只有需要用到的列才进行输出2、谓词下推(Predicatepushdown):尽早进行数据过滤,减少后续处理的数据量3、分区裁剪(Partitionpruning):只读取满足分区条件的文件4、map-join:对于join中一些小文件,可以在map阶段进行join操作5、join-reordering:将在reducer中进行join操作时的小table放入内存,而大table通过stream方式读取6、Group-by优化:进行局部聚合进行优化(包括hash-based和sort-based),对于skew的key(key的rownum和size在reduce时非常不均)可以进行两次map-reduce的方式优化说明:基本上用于优化的提示(hint)都是一些配置项,map-join除外,需要具体在HQL直接指定。HIVE的physicalplan的生成根据上一步优化的结果,分解成一些map/reduce操作,并将最终结果(即一些plan的xml文件)写入到hdfs。以论文的例子加以说明A.Thusoo,J.S.Sarma,N.Jain,Z.Shao,P.Chakka,N.Zhang,S.Antony,andH.Liu,“Hive–APetabyteScaleDataWarehouseUsingHadoop,”Architecture.FROM(SELECTa.status,b.school,b.genderFROMstatus_updatesaJOINprofilesbON(a.userid=b.useridANDa.ds='2009-03-20'))subq1INSERTOVERWRITETABLEgender_summaryPARTITION(ds='2009-03-20')SELECTsubq1.gender,COUNT(1)GROUPBYsubq1.genderINSERTOVERWRITETABLEschool_summaryPARTITION(ds='2009-03-20')SELECTsubq1.school,COUNT(1)GROUPBYsubq1.schoolHIVE的physicalplan的生成TheEndThankyouk
本文档为【基于hadoop数据仓库】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥35.0 已有0 人下载
最新资料
资料动态
专题动态
机构认证用户
希望图文
公司秉着用户至上的原则服务好每一位客户,专注课件、范文、教案设计制作
格式:ppt
大小:2MB
软件:PowerPoint
页数:32
分类:其他高等教育
上传时间:2022-05-05
浏览量:8