您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据挖掘与识别 > 大数据(HadoopNoSQL等)的技术与实践-课件125
大数据技术教程---------Hadoop/NoSQL的技术与实践议程1大数据技术概论2HadoopMapReduce教程3HadoopMapReduce技术分析4NoSQL教程5NoSQL技术分析6大数据与关系数据库及技术趋势分析7大数据技术新进展8大数据与新一代企业数据架构规划补充与答疑大数据技术概论•现代数据管理需求分析•关系数据库的挑战与应对•大数据的定义与特征•大数据技术家族4海量数据管理——时代的挑战挑战•海量管理能力,多类型,变化快,高可用性,低成本,高端可扩展性很多传统的技术已经难以应对!数据管理最大的挑战是:高负荷下的海量数据管理IDC研究表明:全球数据产量仅2011就达1.8ZB(或1.8万亿GB,每个美国人每分钟写3条Twitter信息,共写2.6976万年;未来十年的全球数据量将增长50倍。主要有两类情况:•一类是原有数据种类量的增加•另一类是过去我们没关心或没能力关心的数据:如Weblog,社交媒体,实时位置,智能设备、传感器计量等大数据技术概论•现代数据管理需求分析•关系数据库的挑战与应对•大数据的定义与特征•大数据技术家族经典RDBMS6技术理念•遵守Codd十二规则,采用基亍二维表的范式化模型存储数据,模型设计以追求数据完整性、一致性、低冗余性为目标,强调事务的强一致性与参照完整性,对复杂数据操作要求能方便实现。技术特征•数据操作遵循ACID(原子性、一致性、隔离性、持久性)原则•数据操作基亍SQL语言实现,支持复杂的SQL查询处理•模式(Schema)固定•强事务,强一致性保证•强大的索引、执行计划与优化引擎机制•数据抽象与物理存储层相对独立,数据分页存放优势•技术体系完整、成熟、可靠•可严格保证数据完整性与一致性•可非常容易地建立二级索引,执行复杂的连接、排序、分组等操作•SQL对复杂数据操作需求只需要说明“要什么”,无需说明“怎么做”,不需要进行开发局限性•不是天然为分布式与幵行设计,水平扩展性受限,可管理数据量与负载量难以适应大规模需求•SQL引擎可支持的数据需求场景有限•关系模型不适合存储与处理许多非结构化/半结构化的场景适用场景•企业交易操作与数据管理支持•复杂BI报表与分析需求代表产品•Oracle,DB2,Informix,MySQL,SQLServer7关系数据库的基本特征简单示例MPP架构示例--TeraDataSharedDisk新架构示例---ExaData改进型RDBMS10技术理念•在保证关系模型、SQL体系与写时模式约束的前提下,提高经典RDBMS的水平扩展性与幵发负载支持能力技术特征•保持经典RDBMS的一切原有特性•引入分布式数据存储特性•引入分布节点幵行操作特性•通常采用软硬件一体化的一体机模式优势•保持经典RDBMS的一切原有优势•水平可扩展性大大提高•部分产品实现资源精细化管理,支持混合负载局限性•大多数情况下更适合亍批量操作为主的OLAP场景适用场景•企业交易操作支持与数据管理•复杂BI报表与分析需求代表产品•OracleExaData,IBMPureData,TeraData,EMCGreenPlum大数据技术概论•现代数据管理需求分析•关系数据库的挑战与应对•大数据的定义与特征•大数据技术家族1、思维和习惯利用数据进行分析决策的习惯。2、业务模式数据驱劢业务的一种商业模式。3、全部数据通过合法渠道收集和获得的所有类型的包含内外部所有的大规模数据。4、技术平台获取大数据的平台(互联网)承载服务、吸引用户、产生数据和处理大数据的平台(仅是个技术问题),根据数据特点和处理需要选择的各种技术组合起来的统一平台。121234对大数据的整体理解---立体的多面体大数据的相关定义---大家都大数据,其实并不是说一件事,必须澄清13•■大数据•代表现代信息社会的本质特征,它是更加广泛更加深入的数字化,以及全社会范围内数据的互联互通。•“更加广泛、更加深入的数字化”,幵不等同亍纸质文档电子化,而是数据指导业务的习惯、策略与模式。•“全社会范围内数据的互联互通”,是指企业现在面对的不仅仅是其内部数据互联互通的问题(如企业数据总线数据集成等),而是数据在全社会范围内的互联互通问题,而这与互联网密丌可分。如果仅仅局限在企业内部的数据,都不能把握大数据的真正能力。•■大数据技术•狭义地讲,大数据技术指近年来出现与流行的、以低成本易扩展及反关系范式模型为核心特征的新的数据管理方法,其以Hadoop为主要代表;•广义地讲,大数据技术指用于有效支持上述“大数据”管理不处理需求的数据管理技术的统称,它可以是指某一项独立具体的技术,也可以是指多项技术面向某种需求的有机组合,包括了经典RDBMS,改进型RDBMS,Hadoop,NoSQL以及其它。大数据的核心数据特征抛开业务模式,就数据本身来讲,相比“小数据”,大数据具有如下核心特征:•大:数据量大。面对与处理比过去更大的数据量•广:类型与来源广泛。面对与处理多种类型,多种来源的数据•联:全社会互联互通。不再只面对企业内部孤立的数据资源,而是包括企业内外部的全社会的互联互通14大数据技术概论•现代数据管理需求分析•关系数据库的挑战与应对•大数据的定义与特征•大数据技术家族大数据技术的内容RDBMSHadoopNoSQLNewSQL分布式文件大变小小变大新技术(超越Hadoop)大数据技术=关于各种技术适用场景的判断,没有一种说法是绝对正确或是企业可以直接借鉴的,必须了解原理后,自行判断!!!议程1大数据技术概论2HadoopMapReduce教程3HadoopMapReduce技术分析4NoSQL教程5NoSQL技术分析6大数据与关系数据库及技术趋势分析7大数据技术新进展8大数据与新一代企业数据架构规划HadoopMapReduce教程•Hadoop体系组成•HDFS简介•HadoopMapReduce技术介绍•HadoopMapReduce编程与示例•Hive,Pig,Zookeeper……Hadoop体系组成Hadoop版本介绍1.ApacheHadoop:•Hadoop1.00.20.x,0.21.x,0.22.x1.0.x•Hadoop2.00.23.x:YARN2.x:YARN,HDFSFederation,NameNodeHA2.ClouderaHadoop•CDH3:在ApacheHadoop0.20.2版本基础上演化而来的,对应Hadoop1.0•CDH4:在ApacheHadoop2.0.0版本基础上演化而来的,对应Hadoop2.0Hadoop版本选择1.Hadoop1.0与Hadoop2.0•实际上,当前Hadoop只有两个版本:Hadoop1.0和Hadoop2.0•相比于Hadoop1.0,Hadoop2.0功能更加强大,且具有更好的扩展性、性能,并支持多种计算框架2.选择依据建议当决定是否采用某个软件用于开源环境时,通常需要考虑以下几个因素:(1)是否为开源软件,即是否免费。(2)是否有稳定版,这个一般软件官方网站会给出说明。(3)是否经实践验证,这个可通过检查是否有一些大点的公司已经在生产环境中使用知道。(4)是否有强大的社区支持,当出现一个问题时,能够通过社区、论坛等网络资源快速获取解决方法HadoopMapReduce简明教程•Hadoop体系组成•HDFS简介•HadoopMapReduce技术介绍•HadoopMapReduce编程与示例•Hive,Pig,Zookeeper……HDFS体系架构HDFS体系架构HDFS主要技术点•设计目标:–适合:超大文件,流式访问,商用硬件–不适合:低延迟,大量小文件,多用户任意修改•HDFS数据块•NameNode容错–双写;SecondaryNameNode(结合使用)–Hadoopv2.0:HDFSFederation•Hadoop存档:HAR,SequenceFile,MapFile(seq,index)•Hadoop压缩:可切分(LZ0);不可切分(gzip)•用户接口–命令行:hadoopfs-……–编程API:包FileSystemHadoopMapReduce简明教程•Hadoop体系组成•HDFS简介•HadoopMapReduce技术介绍•HadoopMapReduce编程与示例•Hive,Pig,Zookeeper……MapReduce设计思想•数据分布:•分:map•洗牌:shuffler•合:reduce例:我们要数图书馆中所有书名中含“Oracle”的数量,怎么数效率最高?MapReduce作业运行机制(MapReduce1)•问题分解1.提交:计算分片,资源拷贝(1,2,3,4)2.初始化:创建运行对象,map任务(5,6)3.任务的分配:任务糟分配,map就近原则4.任务的执行:执行(8,9)5.进度和状态更新6.任务完成MapReduce作业运行机制(MapReduce2-YARN)1.提交:计算分片,资源拷贝(1,2,3,4)(WithResourceManager)2.初始化:RM分配firstcontainer,启动MRAppMaster,创建运行对象与map任务(5,6,7)3.任务的分配:MRAppMaster向RM申请containers,内存,分派maps/reduces(8)4.任务的执行:执行(9,10,11)5.进度和状态更新toMRAppMaster6.任务完成Shuffler和排序•Shuffler:将map输出作为输入传给reduce的过程MapReduce主要技术点•配置:–org.apche.hadoop.conf.Configuratoin–mapred-site.xml,core-site.xml•作业调优:–Mapper,Reducer数量;Combiner;中间值压缩;……•Hadoop工作流–有向无环图–org.apache.hadoop.mapred.jobcontrol–oozie•任务执行:推测执行;JVM重用;坏记录跳过•输入格式InputFormat/输出格式OutputFormat•排序Sort,关联Join–PartialSort;TotalSort;SecondaryJoin–MapsideJoin;ReducesideJoinMapReduce示例•排序map输入:(9,…),(14,…),(7,…)(4,…),(12,…),(6,…)(15,…),(1,…),(5,…)(8,…),(10,…),(2,…)(11,…),(3,…),(13,…)MapReduce主要技术点(续)•排序SortPartialSort;TotalSort;分区和采样job.setPartitionerClass(TotalOrderPartitioner.class);InputSampler.SamplerIntWritable,Textsampler=newInputSampler.RandomSamplerIntWritable,Text(0.1,10000,10);InputSampler.writePartitionFile(job,sampler);SecondarySort采用组合键排序,而仍然采用自然键分区•关联JoinMapsideJoin:连接多个Reducer、键数目相同的输出ReducesideJoin:MapReduce输入格式TextInputFormat•TextInputFormat缺省输入格式,map()每次读入一行Key:LongWritable,是行起始字节的偏移量;Value:行的内容KeyValueTextInputFormat可以从行内容中通过分割符取Key•TextInputFormat的Split与Block但如果一个block处理很快,也可以用它来combine大文件,一个Mapper处理多个文件•NLineInputFormat在节点间平分Split•XML文件:WholeFileInputFo
本文标题:大数据(HadoopNoSQL等)的技术与实践-课件125
链接地址:https://www.777doc.com/doc-26201 .html