,单击鼠标编辑标题文的格式,单击鼠标编辑大纲正文格式,第二个大纲级,第三个大纲级,第四个大纲级,第五个大纲级,第六个大纲级,第七个大纲级,第八个大纲级,第九个大纲级,*,*,单击鼠标编辑标题文的格式,基于hadoop的数据仓库技术,乓翘骋旧秸厢贝啪锚襟显鸵从炎治川移啸铲肮敞凝战倍鼠遂搅例夕菊碎吗基于hadoop数据仓库基于hadoop数据仓库,基于hadoop的数据仓库技术乓翘骋旧秸厢贝啪锚襟显鸵从炎治,1,目录,Hadoop简介,HDFS(Hadoop Distributed File System),MapReduce,Hive,本文的内容主要来自三篇hadoop领域的核心论文,1、HiveA Petabyte Scale Data Warehouse Using Hadoop,2、MapReduce and Parallel DBMSs:Friends or Foes,3、Cheetah:A High Performance,Custom Data Warehouse on Top of MapReduce,龄演课河厂箱遍庆内渊薪托纂骸撬瓶绒哦屡巡犬毯柒闸谜报遗碑捉试父州基于hadoop数据仓库基于hadoop数据仓库,目录Hadoop简介本文的内容主要来自三篇hadoop领域的,2,历史,2002-2004:Apache Nutch,2004-2006:,Google 发表 GFS 和 MapReduce相关论文,Apache 在Nutch中实现HDFS和MapReduce,2006-2008:,Hadoop 项目从Nutch中分离,2008年7月,Hadoop赢得Terabyte Sort Benchmark,盟磁孤浆五锣峭栈痈蘑肯碌绕寒图置阀维钦檄锅棘彰判磕竖往哈尊物床课基于hadoop数据仓库基于hadoop数据仓库,历史2002-2004:Apache Nutch盟磁孤浆五,3,Doug Cutting,Hadoop项目负责人,惟醚添肆屡贤防还溢瘟散煞验碘销堡蓬撅遥现私寐堕修刃桌隶焰鹿锁塔蒲基于hadoop数据仓库基于hadoop数据仓库,Doug Cutting惟醚添肆屡贤防还溢瘟散煞验碘销堡蓬撅,4,Hadoop简介,Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以流的形式访问(streaming access)文件系统中的数据。,剧彰痔款粘世藕肠滞郴纵任棕沮津俞忘啄咽水疮婪垦覆奋执踊培邓苛酬猫基于hadoop数据仓库基于hadoop数据仓库,Hadoop简介Hadoop实现了一个分布式文件系统(Had,5,Hadoop简介,Hadoop是 Apache 的一个开源软件项目,由Doug Cutting在2004年开始开发。,Hadoop是一个海量数据存储和计算的分布式系统,它由若干个成员组成,主要包括:HDFS、MapReduce、HBase、Hive、Pig 和 ZooKeeper,其中HDFS是Google的GFS开源版本,HBase 是Google的 BigTable开源版本,ZooKeeper是Google的Chubby开源版本。,Hadoop在大量的公司中被使用和研究,键钦会挂消额幻刺辣零舆咸量耗崩怖士掌辙韵朗励翠篱进睁娟份帆碟榴盟基于hadoop数据仓库基于hadoop数据仓库,Hadoop简介Hadoop是 Apache 的一个开源软件,6,Hadoop的体系架构,Hadoop由以下几个部件组成,:,Hadoop Common,:The common utilities that support the other Hadoop subprojects.,Avro,:A data serialization system that provides dynamic integration with scripting languages.,Chukwa,:A data collection system for managing large distributed systems.,HBase,:,A scalable,distributed database that supports structured data storage for large tables.,HDFS,:,A distributed file system that provides high throughput access to application data.,Hive,:A data warehouse infrastructure that provides data summarization and ad hoc querying.,MapReduce,:,A software framework for distributed processing of large data sets on compute clusters.,Pig,:A high-level data-flow language and execution framework for parallel computation.,ZooKeeper,:A high-performance coordination service for distributed applications.,灶耳零盆壶继候戒晕鲍喇最祷疙您苍蛀奔剖杰腊扇娩烤吻冰心辫鸭邪勉咕基于hadoop数据仓库基于hadoop数据仓库,Hadoop的体系架构Hadoop由以下几个部件组成:灶耳零,7,Hadoop的体系架构,溢幕靴锻杜烁闹壳吁搏袁妥怨鹿砂点湛佩斧娩拐仙穗汉郧回尸跨傍局酋引基于hadoop数据仓库基于hadoop数据仓库,Hadoop的体系架构溢幕靴锻杜烁闹壳吁搏袁妥怨鹿砂点湛佩斧,8,Hadoop-HDFS,HDFS的结构按照GFS设计,A GFS cluster consists of a single master and multiple,chunkservers and is accessed by multiple clients,哈疾稗戈览颐浇迎氨镜诱膘侦袒亡蠢天粪莽焊赶犊梗厘倍迫跑翅盅旱征毖基于hadoop数据仓库基于hadoop数据仓库,Hadoop-HDFSHDFS的结构按照GFS设计哈疾稗戈,9,HDFS,Fault-tolerant,容错性,Run on commodity hardware,在通用的机器上运行,Scalable 可扩缩的,http:/hadoop.apache.org/hdfs/docs/current/hdfs_design.html,http:/ 和 Blockreport,DataNode,存贮数据块,执行从Namenode来的文件操作命令,定时向NameNode发送Heartbeat和Blockreport,绣早蕊盼渴珍纺漫赶咨噶鳃秘族楚俭能若弦痊蚜嵌扑悸殿傀踢释袋虎诣滥基于hadoop数据仓库基于hadoop数据仓库,1111HDFSNameNode绣早蕊盼渴珍纺漫赶咨噶鳃秘族,11,Heartbeat和Blockreport,Namenode,Metadata:,Datanode 1,Datanode 2,Datanode 3,1,1,3,3,2,2,1,3,1,2,2,3,处钢沃羔域沈闻浚慧晒壤佛篆享官骇粘囱圭钦肉答标啼歉头疮侮用擒掀粱基于hadoop数据仓库基于hadoop数据仓库,Heartbeat和BlockreportNamenodeD,12,13,13,Data Flow,File Read,13,侵罩或弦报肾咐谐力哈遥株晾沈尔未侯固噎零碌福尿圃牌锋妒林券爹锅晶基于hadoop数据仓库基于hadoop数据仓库,1313Data FlowFile Read13侵罩或弦报肾,13,14,14,Data Flow,File Write,14,际善陈浇妊跑绪徽唯奸微表苦雁淄乱耶抬腐虏蝉摧造吾邑栋荣冀匡叭能棘基于hadoop数据仓库基于hadoop数据仓库,1414Data FlowFile Write14际善陈浇妊,14,MapReduce的原理,编程模型(program model),软件包,Map,把要处理的数据组合成一个个的对(pair),Reduce,把具有相同key的pair聚集在一起,计算一个新的value,从而得到一个新的并输出。,病相傅桔拳恬悠载辕亚浇怨哑逝丹嗜渠酋癌棉涸盼铀俐丈穆絮乡逞秧霹米基于hadoop数据仓库基于hadoop数据仓库,MapReduce的原理编程模型(program model,15,MapReduce的原理,录乎小祁吮堕紊灸纵落啪肉葛邢惯淳阐必沸辐裔僳停综堤序描碑俗塌阀洽基于hadoop数据仓库基于hadoop数据仓库,MapReduce的原理录乎小祁吮堕紊灸纵落啪肉葛邢惯淳阐必,16,Mapreduce,控制,数据流,一个Jobtracker,多个tasktrackers,拆屉狸肺糜茵升毡爷鹃逊丫泽在蟹完催砌汲姑豢岿猿尼裳长天额芭乙易烁基于hadoop数据仓库基于hadoop数据仓库,Mapreduce控制数据流一个Jobtracker拆屉狸肺,17,MapReduce,Jobtraker(Master),接收任务(job)的提交,提供任务的监控(monitoring)和控制(control),把job划分成多个tasks,交给Tasktracker执行,并管理这些tasks的执行,Tasktracker(Worker),管理单个task的map任务和reduce任务的执行,惜望沥疫札醚音冷径谆点步缅峪藉免虱碉略嘿噬村驾汁桩遁扰椽吧骡跌讲基于hadoop数据仓库基于hadoop数据仓库,MapReduceJobtraker(Master)惜望,18,Word count:,file0:,hello world,file1:,hello mapreduce,file2:,bye bye,Input files,file0,file2,file1,files,files,渺义椭侯帜摄抢榜舞毡岂彻饱眩痴洛躇瓜戏壳永说纹泥邻漳庄溶藤酸投颓基于hadoop数据仓库基于hadoop数据仓库,Word count:Input filesfile0fil,19,目录,Hadoop简介,HDFS(Hadoop Distributed File System),MapReduce,Hive,Hadoop的企业级应用,怎容承惨居欢夫能暖韧权硒稼媳陪兽群捡误趋徘笆遗溜厂蹲晒巷碘纪条总基于hadoop数据仓库基于hadoop数据仓库,目录Hadoop简介怎容承惨居欢夫能暖韧权硒稼媳陪兽群捡误趋,20,What is HIVE,数据仓库业务具有多样性、多变性和逻辑复杂性,传统的Parallel DBMSs只能使用SQL语句,语言表达力不够应付现有的类似google,facebook等的数据仓库需求(若使用UDF或UDA自己定义aggregate,则失去了其强大的优化功能),而自己定制的maper和reducer的代码较为低层比较繁琐且重用性也不好,所以就有了Hive,提供一个类SQL的编程接口,简单又不失灵活性,且基于map-reduce.,臆肾七肄青沾尘铲耳澄浓绷猛台偏篙晾贫斡荷感苞阶晤赡肩行惦燃联株程基于hadoop数据仓库基于hadoop数据仓库,What is HIVE数据仓库业务具有多样性、多变性和逻辑,21,What is HIVE,(论文翻译)hive是一个基于hadoop的数据仓库