《大数据处理技术简介.ppt》由会员分享,可在线阅读,更多相关《大数据处理技术简介.ppt(52页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、大数据处理技术简介大数据处理技术简介 三、大数据开源软件三、大数据开源软件HadoopHadoop简介简介 二、大数据处理实现技术二、大数据处理实现技术 一、大数据背景一、大数据背景目目 录录 1.Hadoop 1.Hadoop 简介简介简介简介 2.2.实例演示实例演示实例演示实例演示 1.1.定义定义定义定义 2.2.数据的来源数据的来源数据的来源数据的来源 1.1.分布式储存系统(分布式储存系统(分布式储存系统(分布式储存系统(GFSGFS/HDFSHDFS)2.2.分布式计算模型(分布式计算模型(分布式计算模型(分布式计算模型(MapReduceMapReduce)一、大数据背景一、大
2、数据背景我我们正正处在信息爆炸的年代在信息爆炸的年代20002000年年 数字数据只占全球数据量的数字数据只占全球数据量的1/41/420072007年年 所有数据中只有所有数据中只有7%7%是存是存储在在报纸、书籍、籍、图片等媒介上的模片等媒介上的模拟数据,其余数据,其余93%93%全是数全是数字数据(二字数据(二进制数据)制数据)Google Google 单日日数据数据处理理量量超超过 24 PB24 PBFacebook Facebook 单日日照片更新量超照片更新量超过 1 1千万千万张淘宝网淘宝网 单日数据日数据产生量超生量超过 5 5万万 GBGB大数据背景大数据背景 定义定义大
3、数据定大数据定义 “大数据大数据”是指一个是指一个数据集(数据集(DatasetsDatasets),它的尺寸它的尺寸大到已大到已经无法由无法由传统的数据的数据库软件件去采集、去采集、储存、存、管理和分析。管理和分析。大数据背景大数据背景 定义定义数据的分数据的分类l结构化数据:构化数据:行数据行数据,存储在数据库里存储在数据库里,可以用二维表可以用二维表结构结构来逻辑来逻辑表达实现的表达实现的数据。数据。例如:二维表l半半结构化数据:构化数据:自描述,数据结构和内容混杂在自描述,数据结构和内容混杂在一起一起的数据。的数据。例如:XML、HTML等。l非非结构化数据:构化数据:除去以上两种类型
4、除去以上两种类型例如:音视频、图片等。大数据背景大数据背景 定义定义2000200020002000年以后非结构化数据占绝大部分年以后非结构化数据占绝大部分年以后非结构化数据占绝大部分年以后非结构化数据占绝大部分大数据背景大数据背景 数据的来源数据的来源从非从非结构化数据到构化数据到结构化数据构化数据视频、音视频、音视频、音视频、音频识别技频识别技频识别技频识别技术等术等术等术等大数据背景大数据背景 数据的来源数据的来源网页爬虫网页爬虫网页爬虫网页爬虫视频识别视频识别视频识别视频识别语音识别语音识别语音识别语音识别等等等等大数据背景大数据背景 数据的来源数据的来源 传统关系数据库,如传统关系数
5、据库,如传统关系数据库,如传统关系数据库,如:OracleOracle、MYSQLMYSQLl无法储存几亿行长,几百万行宽的表格,无法储存几亿行长,几百万行宽的表格,巨大的数据巨大的数据直接导致数据库崩溃直接导致数据库崩溃l半半结构化数据和脏数据结构化数据和脏数据将会导致出错(类型不严格)将会导致出错(类型不严格)传统方法失效方法失效 !如何解决?如何解决?大数据处理技术的解决办法:大数据处理技术的解决办法:存成文件(存成文件(File SystemFile System)大数据背景大数据背景 数据的来源数据的来源某搜索引擎搜索日志某搜索引擎搜索日志大数据背景大数据背景 数据的来源数据的来源
6、二、大数据二、大数据处理理实现技技术大数据大数据处理技理技术面面对的的第一个第一个问题 如何高效存如何高效存储大大规模文件?模文件?大数据处理实现技术大数据处理实现技术 分布式储存系统分布式储存系统GFS/HDFSGFS/HDFS数据数据读取取问题1 T1 T100M/S100M/SOH NO!大数据处理实现技术大数据处理实现技术 分布式储存系统分布式储存系统GFS/HDFSGFS/HDFS2.5小时小时 谷歌文件系谷歌文件系统(GFSGFS)大数据处理实现技术大数据处理实现技术 分布式储存系统分布式储存系统GFS/HDFSGFS/HDFS 分而治之分而治之大数据处理实现技术大数据处理实现技术
7、 分布式储存系统分布式储存系统GFS/HDFSGFS/HDFS谷歌文件系谷歌文件系统(GFSGFS)解决方案解决方案.10G1分分30秒秒100M/S大数据处理实现技术大数据处理实现技术 分布式储存系统分布式储存系统GFS/HDFSGFS/HDFS10G10G10G10G 可靠性可靠性问题 大数据处理实现技术大数据处理实现技术 分布式储存系统分布式储存系统GFS/HDFSGFS/HDFS大数据大数据处理技理技术面面对的的第二个第二个问题99%*99%*99%*99%*99%=95%95%*95%*95%*95%*95%=76%备份备份 一份数据至少做三个备份一份数据至少做三个备份大数据处理实现
8、技术大数据处理实现技术 分布式储存系统分布式储存系统GFS/HDFSGFS/HDFS谷歌谷歌解决方案解决方案10G10G10G10G10G10G10G10G10G10G10G10G10G10G10G10G10G10G10G10G10G10G10G10G10G10G10G10G心跳心跳心跳心跳(HeartBeat HeartBeat)MasterMasterMasterMaster(主管)(主管)(主管)(主管)Secondary Secondary Secondary Secondary mastermastermastermaster(副主管)(副主管)(副主管)(副主管)ClientCli
9、entClientClient(用户程序)(用户程序)(用户程序)(用户程序)读取元数据读取元数据读取元数据读取元数据读取数据读取数据读取数据读取数据云(Cloud)MasterMasterMasterMaster作用:作用:作用:作用:l l储存元数据(数据位置信息)储存元数据(数据位置信息)储存元数据(数据位置信息)储存元数据(数据位置信息)l l储存节点的日常维护储存节点的日常维护储存节点的日常维护储存节点的日常维护储储存存存存节节点点点点10G10G10G10G10G10G10G10G数据位置信息数据位置信息数据位置信息数据位置信息读取数据读取数据读取数据读取数据Google File
10、 System架构架构大数据处理实现技术大数据处理实现技术 分布式储存系统分布式储存系统GFS/HDFSGFS/HDFS大数据处理实现技术大数据处理实现技术 分布式计算模型分布式计算模型 MapReduceMapReduce大数据大数据处理技理技术面面对的的第三个第三个问题 数据运算数据运算问题 分布式计算(并行计算)分布式计算(并行计算)大数据处理实现技术大数据处理实现技术 分布式储存系统分布式储存系统GFS/HDFSGFS/HDFS谷歌谷歌解决方案解决方案谷歌提出谷歌提出 Map/Reduce Map/Reduce 模型模型大数据处理实现技术大数据处理实现技术 分布式计算模型分布式计算模型
11、 MapReduceMapReduce MapMap函数:函数:函数:函数:接受接受接受接受一个键值对一个键值对一个键值对一个键值对(key-value pairkey-value pair),),),),产生产生产生产生一组中间键值对一组中间键值对一组中间键值对一组中间键值对。mapmap函数将中间键值对里键相同的值传递给函数将中间键值对里键相同的值传递给函数将中间键值对里键相同的值传递给函数将中间键值对里键相同的值传递给ReduceReduce函数。函数。函数。函数。ReduceReduce函数:函数:函数:函数:接受接受接受接受一个键一个键一个键一个键,以及相关的,以及相关的,以及相关的
12、,以及相关的一组值一组值一组值一组值,将这组值进行,将这组值进行,将这组值进行,将这组值进行合并合并合并合并产生产生产生产生一组一组一组一组规模更小的值规模更小的值规模更小的值规模更小的值(通常只有一个或零个值)(通常只有一个或零个值)(通常只有一个或零个值)(通常只有一个或零个值)大数据处理实现技术大数据处理实现技术 分布式计算模型分布式计算模型 MapReduceMapReduceKey-ValueKey-Value(键-值)模型)模型 键(KeyKey):):l l键键必必必必须须是唯一的,而是唯一的,而是唯一的,而是唯一的,而值值并不一定是唯一的并不一定是唯一的并不一定是唯一的并不一定
13、是唯一的l l每个每个每个每个值值必必必必须须与与与与键键关关关关联联,但,但,但,但键键可以没有可以没有可以没有可以没有值值l l必必必必须须对键进对键进行明确定行明确定行明确定行明确定义义。他决定了。他决定了。他决定了。他决定了计计数是否区分大小写数是否区分大小写数是否区分大小写数是否区分大小写(键键由由由由HashHashHashHash值值唯一确定唯一确定唯一确定唯一确定)。键值对举键值对举例例例例 :l l通通通通讯录讯录中的姓名(中的姓名(中的姓名(中的姓名(KeyKeyKeyKey)和)和)和)和联联系方式(系方式(系方式(系方式(ValueValueValueValue)l l
14、计计算机中各种根据文件名(算机中各种根据文件名(算机中各种根据文件名(算机中各种根据文件名(KeyKeyKeyKey)访问访问各各各各类类文件,如文本、文件,如文本、文件,如文本、文件,如文本、图图片(片(片(片(ValueValueValueValue)l l年份(年份(年份(年份(KeyKeyKeyKey)温度(温度(温度(温度(valuevaluevaluevalue)大数据处理实现技术大数据处理实现技术 分布式计算模型分布式计算模型 MapReduceMapReduce气象站气象数据的处理(找出最高气温)气象站气象数据的处理(找出最高气温)大数据处理实现技术大数据处理实现技术 分布式计
15、算模型分布式计算模型 MapReduceMapReduceKeyKeyKeyKey(年份)(年份)(年份)(年份)ValueValueValueValue(温度)(温度)(温度)(温度)大数据处理实现技术大数据处理实现技术 分布式计算模型分布式计算模型 MapReduceMapReduceMapReduceMapReduce计算架构计算架构Map/ReduceMap/Reduce特点特点l开开发简单 无需无需无需无需处理线程或提供精细的同步逻辑处理线程或提供精细的同步逻辑处理线程或提供精细的同步逻辑处理线程或提供精细的同步逻辑l规模模大大 无需无需无需无需修改程序即可在任意规模机器上运行修改程
16、序即可在任意规模机器上运行修改程序即可在任意规模机器上运行修改程序即可在任意规模机器上运行l工作具工作具备自自动并行和分并行和分发功能功能 用户用户用户用户只需写好只需写好只需写好只需写好MapMap和和和和ReduceReduce函数即可函数即可函数即可函数即可l高高容容错 失败失败失败失败任务在新节点任务在新节点任务在新节点任务在新节点上会重新上会重新上会重新上会重新运行运行运行运行大数据处理实现技术大数据处理实现技术 分布式计算模型分布式计算模型 MapReduceMapReduceMap/ReduceMap/Reduce的局限的局限对迭代算法无能为力对迭代算法无能为力不是所有算法都能并
17、行不是所有算法都能并行大数据处理实现技术大数据处理实现技术 分布式计算模型分布式计算模型 MapReduceMapReduce 三、大数据开源三、大数据开源软件件HadoopHadoop简介介谷歌技谷歌技术开源开源实现 GFSGFS MapReduce MapReduce开源实现开源实现大数据开源软件大数据开源软件HadoopHadoop简介简介HDFSHDFS MapReduceMapReduce 20022002年年年年,Doug CuttingDoug Cutting从做开源从做开源从做开源从做开源Apache NutchApache Nutch引擎开始引擎开始引擎开始引擎开始 2003
18、2003年年年年,DougDoug在看到谷歌在看到谷歌在看到谷歌在看到谷歌发发表的表的表的表的GFSGFS之后,开始开源之后,开始开源之后,开始开源之后,开始开源实现实现 NDFS(Nutch NDFS(Nutch Distributed File System)Distributed File System)。20042004年年年年,谷歌谷歌谷歌谷歌发发表表表表MapReduceMapReduce,20052005年,年,年,年,NutchNutch开开开开发发人人人人员员开源开源开源开源实现实现MapReduceMapReduce。20062006年,年,年,年,NutchNutch的的
19、的的NDFSNDFS和和和和MapReduceMapReduce移出移出移出移出NutchNutch项项目,独立形成独立目,独立形成独立目,独立形成独立目,独立形成独立项项目,命目,命目,命目,命名名名名Hadoop。HadoopHadoop的得名(的得名(的得名(的得名(Doug Cutting Doug Cutting 的小孩的小孩的小孩的小孩给给毛毛毛毛绒绒玩具象起的名字)玩具象起的名字)玩具象起的名字)玩具象起的名字)20062006年,年,年,年,Doug CuttingDoug Cutting加入雅虎(聘加入雅虎(聘加入雅虎(聘加入雅虎(聘请请),雅虎开始),雅虎开始),雅虎开始)
20、,雅虎开始资资助助助助HadoopHadoop发发展。展。展。展。20082008年,年,年,年,1 1月月月月HadoopHadoop成成成成为为ApacheApache顶级项顶级项目,目,目,目,2 2月,雅虎宣布,月,雅虎宣布,月,雅虎宣布,月,雅虎宣布,HadoopHadoop应应用在自用在自用在自用在自家搜素引擎中(其搜索引擎的索引建立在家搜素引擎中(其搜索引擎的索引建立在家搜素引擎中(其搜索引擎的索引建立在家搜素引擎中(其搜索引擎的索引建立在拥拥有有有有1 1万个内核的万个内核的万个内核的万个内核的HadoopHadoop集群上),集群上),集群上),集群上),4 4月,月,月,月
21、,HadoopHadoop在在在在900900个个个个节节点上运行点上运行点上运行点上运行1TB1TB排序排序排序排序测试仅测试仅需需需需209209秒,成秒,成秒,成秒,成为为全球最快。全球最快。全球最快。全球最快。大数据开源软件大数据开源软件HadoopHadoop简介简介 Hadoop Hadoop 分布式文件系统(分布式文件系统(HDFSHDFS)架构)架构大数据开源软件大数据开源软件HadoopHadoop简介简介安装安装HadoopHadoop 1.系统要求:系统要求:Linux(Ubuntu/CentOS/)2.java运行环境(安装运行环境(安装JDK)3.安装安装SSH 4.
22、安装安装Hadoop大数据开源软件大数据开源软件HadoopHadoop简介简介HadoopHadoop启启动HDFSHDFS演示演示大数据开源软件大数据开源软件HadoopHadoop简介简介 实例演示实例演示 Hadoop云的实际操作1.1.启动启动HDFSHDFS命令:命令:start-dfs.shstart-dfs.sh2.2.在在eclipseeclipse中打开中打开HDFSHDFS目录(目录(eclipseeclipse需安装需安装Map/ReduceMap/Reduce插件)插件)Map/ReduceMap/Reduce单词统频(Wordcount)(Wordcount)示例示
23、例大数据开源软件大数据开源软件HadoopHadoop简介简介 实例演示实例演示1.1.通过通过eclipseeclipse上传文本至上传文本至HDFSHDFS2.2.启动启动MapReduceMapReduce计算框架,命令:计算框架,命令:start-yarn.shstart-yarn.shWordcount Java程序程序 map部分部分 public class WordCount public static class Map extends MapReduceBase implements Mapper private final static IntWritable one=n
24、ew IntWritable(1);private Text word=new Text();public void mapmap(LongWritable key,Text value,OutputCollector output,Reporter reporter)throws IOException String line=value.toString();StringTokenizer tokenizer=new StringTokenizer(line);while(tokenizer.hasMoreTokens()word.set(tokenizer.nextToken();wor
25、d.set(tokenizer.nextToken();output.collect(word,one);output.collect(word,one);/输输出:出:出:出:1 1 Wordcount Java程序程序 reduce部分部分 public static class Reduce extends MapReduceBase implementspublic static class Reduce extends MapReduceBase implements Reducer Reducer public void public void reducereduce(Text
26、key,Iterator values,(Text key,Iterator values,OutputCollector output,Reporter reporter)OutputCollector output,Reporter reporter)throws IOException throws IOException int sum=0;int sum=0;while(values.hasNext()while(values.hasNext()sum+=values.next().get();sum+=values.next().get();/累加累加累加累加统频统频 output
27、.collect(key,new IntWritable(sum);output.collect(key,new IntWritable(sum);3.3.3.3.运行运行运行运行wordcountwordcountwordcountwordcount程序程序程序程序 java jar java jar java jar java jar包包包包 命令命令命令命令:hadoop jar jar:hadoop jar jar:hadoop jar jar:hadoop jar HadoopHadoop的优势的优势l廉价廉价 计算节点和储存节点普通机器即可计算节点和储存节点普通机器即可l可可伸伸缩
28、性好性好 通过增加节点即扩展通过增加节点即扩展l容容错性好性好 副本机制副本机制l可可编程程 Map/Reduce框架框架l适合一次写入多次适合一次写入多次读取(取(HDFS)大数据开源软件大数据开源软件HadoopHadoop简介简介Hadoop 生态系统生态系统各各组件件简介介 Hive:为程序员提供类SQL语句编写,底层将HiveQL(Hive-SQL)转换为MapReduce编译运行 Pig:提供给用户使用的脚本语言,简化MapReduce代码编写 Hbase:低延时、分布式的非关系型数据库 ZooKeeper:分布式协同工作系统 Hcatalog:向Hadoop应用(Hive/Pig)共享元数据大数据开源软件大数据开源软件HadoopHadoop简介简介大数据开源软件大数据开源软件HadoopHadoop简介简介谢谢大家大家敬敬请批批评指正指正