1、第第1章章大数据技术概述大数据技术概述本章主要内容本章主要内容随随着着互互联联网网技技术术的的蓬蓬勃勃发发展展,大大数数据据(bigdata)已已经经渗渗透透到到每每个个人人的的日日常常生生活活之之中中。传传统统的的数数据据挖挖掘掘和和处处理理技技术术已已经经无无法法满满足足大大数数据据的的处处理理要要求求。大大数数据据技技术术的的核核心心在在于于挖掘出挖掘出数数据据中蕴中蕴藏的价值。藏的价值。本本章章主主要要介介绍绍大大数数据据的的发发展展历历史史、基基本本特特征征,大大数数据据处处理理框框架架,以以及及大大数数据据技技术术的的主要应用领域主要应用领域2第第1章章大大数据技术概述数据技术概述
2、1.1大大数据的发展历史数据的发展历史1.2大大数据的基本特征数据的基本特征1.3大大数据处理框架数据处理框架1.4大大数据技术的主要应用领数据技术的主要应用领域域31.1大数据的发展历史大数据的发展历史4信息化浪潮信息化浪潮发生时间发生时间标志标志解决问题解决问题代表企业代表企业第一次浪潮1980年前后个人计算机信息处理Intel、AMD、IBM、苹果、微软、联想、戴尔、惠普等第二次浪潮1995年前后互联网信息传输雅虎、谷歌、阿里巴巴、百度、腾讯等第三次浪潮2010年前后物联网、云计算和大数据信息爆炸将涌现出一批新的市场标杆企业第四次?1.1大数据的发展历史大数据的发展历史数据产生方式的变革
3、数据产生方式的变革51.1大数据的发展历史大数据的发展历史HadoopHadoop项目诞生于项目诞生于项目诞生于项目诞生于20052005年,其最初只是年,其最初只是年,其最初只是年,其最初只是YahooYahoo公司用来解决网页搜索问题的一个项目,后来因公司用来解决网页搜索问题的一个项目,后来因公司用来解决网页搜索问题的一个项目,后来因公司用来解决网页搜索问题的一个项目,后来因其技术的高效性,被阿帕奇软件基金会(其技术的高效性,被阿帕奇软件基金会(其技术的高效性,被阿帕奇软件基金会(其技术的高效性,被阿帕奇软件基金会(ApacheApacheSoftwareFoundationSoftwar
4、eFoundation)引入并成为开源应用。)引入并成为开源应用。)引入并成为开源应用。)引入并成为开源应用。HadoopHadoop本身不是一个产品,而是由多个软件产本身不是一个产品,而是由多个软件产本身不是一个产品,而是由多个软件产本身不是一个产品,而是由多个软件产品组成的一个生态系统。品组成的一个生态系统。品组成的一个生态系统。品组成的一个生态系统。从技术上看,从技术上看,从技术上看,从技术上看,HadoopHadoop关键服务主要包括:采用关键服务主要包括:采用关键服务主要包括:采用关键服务主要包括:采用HadoopHadoop分布式文件系统(分布式文件系统(分布式文件系统(分布式文件
5、系统(HDFSHDFS)的可靠数据存)的可靠数据存)的可靠数据存)的可靠数据存储服务;储服务;储服务;储服务;MapReduceMapReduce技术的高性能并行数据处理技术的高性能并行数据处理技术的高性能并行数据处理技术的高性能并行数据处理服务。这两项服务为实现结构化和复杂数据的快服务。这两项服务为实现结构化和复杂数据的快服务。这两项服务为实现结构化和复杂数据的快服务。这两项服务为实现结构化和复杂数据的快速、可靠分析奠定了基础。速、可靠分析奠定了基础。速、可靠分析奠定了基础。速、可靠分析奠定了基础。61.1大数据的发展历史大数据的发展历史2008年,美国年,美国“计算社区联盟计算社区联盟”(
6、ComputingCommunityConsortium)发表了一份具有影响力的白)发表了一份具有影响力的白皮书皮书大数据计算:在商务、科学和大数据计算:在商务、科学和社会领域创造革命性突破社会领域创造革命性突破2009年年,美国政府通过启动美国政府通过启动Data.gov网站网站的方式进一步开放数据大门,并向公众提的方式进一步开放数据大门,并向公众提供各种各样的政府数据供各种各样的政府数据71.1大数据的发展历史大数据的发展历史2010年年2月,肯尼斯月,肯尼斯库克尔在库克尔在经济学人经济学人上发表长达上发表长达14页的大数据专题报告页的大数据专题报告数据,无所不在的数据数据,无所不在的数据
7、2011年年2月,月,IBM的沃森超级计算机每秒扫的沃森超级计算机每秒扫描并分析描并分析4TB(约(约2亿页的文字量)的数据,亿页的文字量)的数据,并在美国著名智力竞赛电视节目并在美国著名智力竞赛电视节目危险边危险边缘缘(Jeopardy)上击败两名人类选手而)上击败两名人类选手而夺夺冠冠81.1大数据的发展历史大数据的发展历史2011年年5月,全球知名咨询公司麦肯锡全球月,全球知名咨询公司麦肯锡全球研究院(研究院(McKinseyGlobalInstitute,MGI)发布一份报告)发布一份报告大数据:创新、大数据:创新、竞争和生产力的下一个新领域竞争和生产力的下一个新领域2011年年12月
8、,工业和信息化部发布的月,工业和信息化部发布的物物联网联网“十二五十二五”发展规划发展规划中,信息处理中,信息处理技术作为四项关键技术的创新工程之一被技术作为四项关键技术的创新工程之一被提出来,其中包括海量数据存储、数据挖提出来,其中包括海量数据存储、数据挖掘、图像视频智能分析,这些都是大数据掘、图像视频智能分析,这些都是大数据的重要组成部分的重要组成部分91.1大数据的发展历史大数据的发展历史2012年年3月,美国政府在白宫网站发布月,美国政府在白宫网站发布大大数据研究和发展倡议数据研究和发展倡议,这一倡议标志着,这一倡议标志着大数据已经成为重要的时代特征;美国政大数据已经成为重要的时代特征
9、;美国政府宣布投资府宣布投资2亿美元以推动大数据技术发展,亿美元以推动大数据技术发展,是大数据技术从商业行为上升到国家科技是大数据技术从商业行为上升到国家科技战略的分水战略的分水岭岭2012年年7月,联合国在纽约发布一份关于大月,联合国在纽约发布一份关于大数据政务的白皮书,总结各国政府如何利数据政务的白皮书,总结各国政府如何利用大数据更好地服务和保护人用大数据更好地服务和保护人民民101.1大数据的发展历史大数据的发展历史2012年年7月,为挖掘大数据的价值,阿里巴月,为挖掘大数据的价值,阿里巴巴集团全面推进巴集团全面推进“数据分享平台数据分享平台”战略,战略,并推出大型的数据分享平台并推出大
10、型的数据分享平台“聚石塔聚石塔”,为天猫、淘宝平台上的电商及电商服,为天猫、淘宝平台上的电商及电商服务商等提供数据云服务务商等提供数据云服务2014年年4月,世界经济论坛以月,世界经济论坛以“大数据的回大数据的回报与风险报与风险”为主题发布了为主题发布了全球信息技术全球信息技术报告(第报告(第13版)版)111.1大数据的发展历史大数据的发展历史2014年年5月,美国发布月,美国发布大数据:把握机遇,大数据:把握机遇,守护价值守护价值白皮书,再次重申要把握大数白皮书,再次重申要把握大数据可为经济社会发展带来创新动力的重大据可为经济社会发展带来创新动力的重大机机遇遇2018年年10月,中国国际大
11、数据大会聚焦大月,中国国际大数据大会聚焦大数据产业高质量发展,围绕数据产业高质量发展,围绕“大数据与实大数据与实体经济深度融合体经济深度融合”,从生态完善、技术突,从生态完善、技术突破、融合应用、环境优化等维度进行了讨破、融合应用、环境优化等维度进行了讨论,并且把大数据安全作为一个重要的研论,并且把大数据安全作为一个重要的研究领究领域域121.2大数据的基本特征大数据的基本特征海量的数据规模(海量的数据规模(volume)快速的数据流转和动态的数据体系快速的数据流转和动态的数据体系(velocity)多样的数据类型(多样的数据类型(variety)低价值密度(低价值密度(value)真实性(真
12、实性(veracity)131.2大数据的基本特征大数据的基本特征海量的海量的数据数据规模(规模(volume)l l根据根据IDCIDC作出的估测,数据一直都在以每年作出的估测,数据一直都在以每年50%50%的速度增长,也就是说每两年就增长一倍的速度增长,也就是说每两年就增长一倍(大数据摩尔定律):即人类在最近两年产生(大数据摩尔定律):即人类在最近两年产生的数据量相当于之前产生的全部数据量的数据量相当于之前产生的全部数据量141Byte=23Bit1KB=210Bytes1MB=220Bytes1GB=230Bytes1TB=240Bytes1PB=250Bytes1EB=260Bytes
13、1ZB=270Bytes(2020年)1YB=280Bytes=1.2x10241.2大数据的基本特征大数据的基本特征快速的数据流转快速的数据流转151.2大数据的基本特征大数据的基本特征多样的数多样的数据类据类型(型(variety)10%10%的结构化数据,存储在数据库中的结构化数据,存储在数据库中的结构化数据,存储在数据库中的结构化数据,存储在数据库中 90%90%的非结构化数据,它们与人类信息密切相的非结构化数据,它们与人类信息密切相的非结构化数据,它们与人类信息密切相的非结构化数据,它们与人类信息密切相关关关关161.2大数据的基本特征大数据的基本特征低价值密度(低价值密度(valu
14、e)171.2大数据的基本特征大数据的基本特征真实性(真实性(veracity)l l微微微微博、微信、支付宝、淘宝博、微信、支付宝、淘宝博、微信、支付宝、淘宝博、微信、支付宝、淘宝l l企业物企业物企业物企业物联网联网联网联网181.2大数据的基本特征大数据的基本特征讨论讨论大大数数据据=海量数据?海量数据?191.3大大数据处理框架数据处理框架按按照计算的类型,大数据照计算的类型,大数据处处理框架可以划理框架可以划分为:分为:l l离离离离线计线计线计线计算:数据相对固定,量大算:数据相对固定,量大算:数据相对固定,量大算:数据相对固定,量大l l批批批批量计算:数据间断更新,中大规模量计
15、算:数据间断更新,中大规模量计算:数据间断更新,中大规模量计算:数据间断更新,中大规模l l实实实实时计时计时计时计算:强调响应时间,量小算:强调响应时间,量小算:强调响应时间,量小算:强调响应时间,量小l l流流流流式计算:式计算:式计算:式计算:数据连续动态更新或增加,量小数据连续动态更新或增加,量小数据连续动态更新或增加,量小数据连续动态更新或增加,量小批处理框架(批处理框架(如如Hadoop)、流)、流处理框架处理框架(如如Storm)和混合框架(和混合框架(如如Spark,Flink)201.3大数据处理框架大数据处理框架HadoopHDFS和和MapReducel l主主主主要支持
16、离线和批量计算要支持离线和批量计算要支持离线和批量计算要支持离线和批量计算l l数数数数据存储在分布式集群文件系统据存储在分布式集群文件系统据存储在分布式集群文件系统据存储在分布式集群文件系统HDFSHDFSl l计算使用计算使用计算使用计算使用MapReduceMapReduce组件组件组件组件优优点:点:l l易易易易于编程、扩展性强、高容错性、于编程、扩展性强、高容错性、于编程、扩展性强、高容错性、于编程、扩展性强、高容错性、PBPB级级级级缺缺点点l l不支持实时(毫秒响应)不支持实时(毫秒响应)不支持实时(毫秒响应)不支持实时(毫秒响应)l l不擅长流式不擅长流式不擅长流式不擅长流式
17、l l不擅长不擅长不擅长不擅长DAGDAG计计计计算(多次读写)算(多次读写)算(多次读写)算(多次读写)211.3大数据处理框架大数据处理框架流处理框架流处理框架(如(如Storm)l l低延迟(毫秒)、分布式、高性能、可扩展、低延迟(毫秒)、分布式、高性能、可扩展、低延迟(毫秒)、分布式、高性能、可扩展、低延迟(毫秒)、分布式、高性能、可扩展、无数据丢失、高容错无数据丢失、高容错无数据丢失、高容错无数据丢失、高容错l l无状态:任务和心跳保存在无状态:任务和心跳保存在无状态:任务和心跳保存在无状态:任务和心跳保存在ZookeeperZookeeper应应用用l l实时分析、在线机器学习、分
18、布式远程调用实时分析、在线机器学习、分布式远程调用实时分析、在线机器学习、分布式远程调用实时分析、在线机器学习、分布式远程调用l l网站(服务器)性能监控网站(服务器)性能监控网站(服务器)性能监控网站(服务器)性能监控221.3大数据处理框架大数据处理框架大数据编程语言大数据编程语言l lPythonPythonl lJavaJava231.4大大数据技术的主要应用领域数据技术的主要应用领域大数据技术目前已广泛应用于公共事业、大数据技术目前已广泛应用于公共事业、消费、金融、工业、医疗、农业等领域,消费、金融、工业、医疗、农业等领域,成为促进国民经济快速发展的重要科技力成为促进国民经济快速发展
19、的重要科技力量量241.4大数据技术的主要应用领域大数据技术的主要应用领域在社会发展方面,数据挖掘,大数据决策在社会发展方面,数据挖掘,大数据决策逐渐成为一种新的决策方式,大数据应用逐渐成为一种新的决策方式,大数据应用有力促进了信息技术与各行业的深度融合,有力促进了信息技术与各行业的深度融合,大数据开发大大推动了新技术和新应用的大数据开发大大推动了新技术和新应用的不断涌不断涌现现在就业市场方面,大数据的兴起使得数据在就业市场方面,大数据的兴起使得数据科学家成为热门职科学家成为热门职业业在人才培养方面,大数据的兴起,将在很在人才培养方面,大数据的兴起,将在很大程度上改变中国高校信息技术相关专业大
20、程度上改变中国高校信息技术相关专业的现有教学和科研体制的现有教学和科研体制251.4大数据技术的主要应用领域大数据技术的主要应用领域大数据技术在消费领域的应大数据技术在消费领域的应用用l l例例例例1 1:通过对顾客消费数据的建模分析,顾客:通过对顾客消费数据的建模分析,顾客:通过对顾客消费数据的建模分析,顾客:通过对顾客消费数据的建模分析,顾客数据分析部选出数据分析部选出数据分析部选出数据分析部选出2525种典型商品的消费数据构建种典型商品的消费数据构建种典型商品的消费数据构建种典型商品的消费数据构建“怀孕预测指数怀孕预测指数怀孕预测指数怀孕预测指数”,可以在很小的误差范围内,可以在很小的误
21、差范围内,可以在很小的误差范围内,可以在很小的误差范围内预测顾客的怀孕情况,以便能早早把孕妇优惠预测顾客的怀孕情况,以便能早早把孕妇优惠预测顾客的怀孕情况,以便能早早把孕妇优惠预测顾客的怀孕情况,以便能早早把孕妇优惠广告寄给顾广告寄给顾广告寄给顾广告寄给顾客客客客l l例例例例2 2:沃尔:沃尔:沃尔:沃尔玛在玛在玛在玛在对消费者购物行为进行分析时对消费者购物行为进行分析时对消费者购物行为进行分析时对消费者购物行为进行分析时发现,男性顾客在购买婴儿尿布时,常常会顺发现,男性顾客在购买婴儿尿布时,常常会顺发现,男性顾客在购买婴儿尿布时,常常会顺发现,男性顾客在购买婴儿尿布时,常常会顺便搭配几瓶啤
22、酒来犒劳自己,于是推出将啤酒便搭配几瓶啤酒来犒劳自己,于是推出将啤酒便搭配几瓶啤酒来犒劳自己,于是推出将啤酒便搭配几瓶啤酒来犒劳自己,于是推出将啤酒和尿布捆绑销售的促销手段和尿布捆绑销售的促销手段和尿布捆绑销售的促销手段和尿布捆绑销售的促销手段261.4大数据技术的主要应用领域大数据技术的主要应用领域大数据技术在金融领域的应大数据技术在金融领域的应用用l l例例例例1 1:精准营销是基于行为数据预测用户的偏精准营销是基于行为数据预测用户的偏精准营销是基于行为数据预测用户的偏精准营销是基于行为数据预测用户的偏好和兴趣,继而推荐合适的金融产好和兴趣,继而推荐合适的金融产好和兴趣,继而推荐合适的金融
23、产好和兴趣,继而推荐合适的金融产品品品品l l例例例例2 2:大:大:大:大数据风控的两个应用分别为信用风险数据风控的两个应用分别为信用风险数据风控的两个应用分别为信用风险数据风控的两个应用分别为信用风险和欺诈风险,均是通过分析历史事件,找到其和欺诈风险,均是通过分析历史事件,找到其和欺诈风险,均是通过分析历史事件,找到其和欺诈风险,均是通过分析历史事件,找到其内在规律构建模型,然后用新的数据去验证和内在规律构建模型,然后用新的数据去验证和内在规律构建模型,然后用新的数据去验证和内在规律构建模型,然后用新的数据去验证和优化该模型优化该模型优化该模型优化该模型271.4大数据技术的主要应用领域大
24、数据技术的主要应用领域大数据大数据技术技术在工业领域的应在工业领域的应用用l l产品创新挖掘和分产品创新挖掘和分产品创新挖掘和分产品创新挖掘和分析析析析l l产品销售预测与需求管产品销售预测与需求管产品销售预测与需求管产品销售预测与需求管理理理理l l产品质量管理与分产品质量管理与分产品质量管理与分产品质量管理与分析析析析l l产品故障诊断与预产品故障诊断与预产品故障诊断与预产品故障诊断与预测测测测l l生产计划与排生产计划与排生产计划与排生产计划与排程程程程l l工业供应链的分析和优工业供应链的分析和优工业供应链的分析和优工业供应链的分析和优化化化化l l工业物联网生产线建工业物联网生产线建
25、工业物联网生产线建工业物联网生产线建设设设设l l工业污染与环境监测工业污染与环境监测工业污染与环境监测工业污染与环境监测281.4大数据技术的主要应用领域大数据技术的主要应用领域大数据技术在医疗领域的应用大数据技术在医疗领域的应用291.4大数据技术的主要应用领域大数据技术的主要应用领域大数据技术在农业领域的应大数据技术在农业领域的应用用l l农业自然资源与环境数农业自然资源与环境数农业自然资源与环境数农业自然资源与环境数据据据据l l农业生产数据,主要是指种植业生产数据和养农业生产数据,主要是指种植业生产数据和养农业生产数据,主要是指种植业生产数据和养农业生产数据,主要是指种植业生产数据和
26、养殖业生产数殖业生产数殖业生产数殖业生产数据据据据l l农业市场数据,主要是指市场供求信息、价格农业市场数据,主要是指市场供求信息、价格农业市场数据,主要是指市场供求信息、价格农业市场数据,主要是指市场供求信息、价格行情、生产资料市场信息、价格及利润、流通行情、生产资料市场信息、价格及利润、流通行情、生产资料市场信息、价格及利润、流通行情、生产资料市场信息、价格及利润、流通市场和国际市场信息市场和国际市场信息市场和国际市场信息市场和国际市场信息等等等等l l农业管理数据,主要是指国民经济基本信息、农业管理数据,主要是指国民经济基本信息、农业管理数据,主要是指国民经济基本信息、农业管理数据,主要
27、是指国民经济基本信息、国内生产信息、贸易信息、国际农产品动态信国内生产信息、贸易信息、国际农产品动态信国内生产信息、贸易信息、国际农产品动态信国内生产信息、贸易信息、国际农产品动态信息和突发事件信息等息和突发事件信息等息和突发事件信息等息和突发事件信息等301.4大数据技术的主要应用领域大数据技术的主要应用领域大数据大数据+人工智能人工智能=机器人?机器人?31总结总结本本章章先后先后介绍了大介绍了大数据的发展历数据的发展历史,大数史,大数据的基据的基本特征,大数据处理框架,以及大本特征,大数据处理框架,以及大数据技术的主要应用领数据技术的主要应用领域。需要重点掌握域。需要重点掌握大数据的基本
28、概念和特征,并了解相关技大数据的基本概念和特征,并了解相关技术框架和工具及其应用。术框架和工具及其应用。大数据技术已经初步成熟,并产生了一系大数据技术已经初步成熟,并产生了一系列相关产业和经济效益,掌握好这些技术列相关产业和经济效益,掌握好这些技术对大家今后在专业领域深入发展和工作都对大家今后在专业领域深入发展和工作都有重要帮助。有重要帮助。32谢谢 谢!谢!33第第2章章大数据处理平台大数据处理平台Hadoop本章主要内容本章主要内容Hadoop是是一一种种分分布布式式系系统统基基础础架架构构,以以分分布布式式文文件件系系统统HDFS和和MapReduce等等模模块块为为核核心心,为为用用户
29、户提提供供细细节节透透明明的的系系统统底底层层分分布布式式基基础础架架构构。用用户户能能够够通通过过Hadoop轻轻松松地地组组织织计计算算机机资资源源,搭搭建建分分布布式式计计算算平平台台,并并充充分分应应用用Hadoop集集群群的的计计算算和和存存储储能力完成海量数据的处能力完成海量数据的处理理。本本章章内内容容包包括括Hadoop简简介介、Hadoop的的架架构与组成构与组成第第2章章大大数据技术概述数据技术概述2.1Hadoop简介简介2.2Hadoop架构与组架构与组成成2.1Hadoop简介简介HHadoopHHadoop是基于是基于是基于是基于JavaJava语言开发的,具有很好
30、的跨语言开发的,具有很好的跨语言开发的,具有很好的跨语言开发的,具有很好的跨平台特性,并且可以部署在廉价的计算机集群中平台特性,并且可以部署在廉价的计算机集群中平台特性,并且可以部署在廉价的计算机集群中平台特性,并且可以部署在廉价的计算机集群中。HadoopHadoop框架中最核心的是框架中最核心的是框架中最核心的是框架中最核心的是HDFSHDFS和和和和MapReduceMapReduce。HDFSHDFS(HadoopHadoopdistributedfilesystemdistributedfilesystem)是一)是一)是一)是一种种种种HadoopHadoop分布式文件系统,它为分
31、布式计算存分布式文件系统,它为分布式计算存分布式文件系统,它为分布式计算存分布式文件系统,它为分布式计算存储提供了底层支储提供了底层支储提供了底层支储提供了底层支持持持持HadoopHadoop MapReduceMapReduce提供对数据的计算,简单地提供对数据的计算,简单地提供对数据的计算,简单地提供对数据的计算,简单地讲,就是讲,就是讲,就是讲,就是“对任务的分解与结果的汇总对任务的分解与结果的汇总对任务的分解与结果的汇总对任务的分解与结果的汇总”。2.1Hadoop简介简介Hadoop特性特性高效性高可靠性高扩展性支持多种语言高容错性运行在Linux上低成本2.1Hadoop简介简介
32、Hadoop从从2007推推出后,被多个公司支持和出后,被多个公司支持和使用,例如使用,例如Yahoo,Facebook,Cloudera,Mcrosoft,Amazon,IBM,Google,Oracle等,国内阿里、百度、腾等,国内阿里、百度、腾讯等公司也支持。讯等公司也支持。2.2Hadoop架构与组成架构与组成Hadoop分布式系统基础框架具有极大的可分布式系统基础框架具有极大的可扩展性,用户可以在不了解分布式底层细扩展性,用户可以在不了解分布式底层细节的情况下开发分布式程序,充分利用集节的情况下开发分布式程序,充分利用集群的威力进行高速运算和存储群的威力进行高速运算和存储2.2Had
33、oop架构与组成架构与组成2.2Hadoop架构与组成架构与组成Hadoop1.x和和2.x版本的差别版本的差别2.2Hadoop架构与组成架构与组成MapReduce是一个用于编写并行处理大数是一个用于编写并行处理大数据集的应用程序软件框架。据集的应用程序软件框架。MapReduce作作业分割大型数据集并将数据组织成键值对业分割大型数据集并将数据组织成键值对进行处进行处理理HDFS是是HDInsight上上Hadoop集群的标准集群的标准文件系统。文件系统。HDFS以流式数据访问模式来存以流式数据访问模式来存储超大文件,运行于商用硬件集群上。它储超大文件,运行于商用硬件集群上。它的构建思路是
34、:一次写入、多次读取是最的构建思路是:一次写入、多次读取是最高效的访问模式高效的访问模式2.2Hadoop架构与组成架构与组成HBase是一个分布式的、面向列的开源数是一个分布式的、面向列的开源数据库,该技术来源于据库,该技术来源于FayChang所撰写的所撰写的Google论文论文“Bigtable:一个结构化:一个结构化数据的分布式存储系统数据的分布式存储系统”。HBase可以实可以实现实时地随机访问超大规模数据现实时地随机访问超大规模数据集集ApachePig是一个高级平台,允许使用一是一个高级平台,允许使用一种简化脚本语言(种简化脚本语言(PigLatin)对超大型数)对超大型数据集执
35、行复杂的据集执行复杂的MapReduce转换转换。Pig为为大型数据集的处理提供更高层次的抽象大型数据集的处理提供更高层次的抽象。2.2Hadoop架构与组成架构与组成ApacheHive是构建于是构建于Hadoop上的一个数上的一个数据仓库软件,允许使用类似于据仓库软件,允许使用类似于SQL的语言的语言(称为(称为HiveQL)来查询和管理分布式存储)来查询和管理分布式存储中的大型数据集。中的大型数据集。Hive是一种基于是一种基于MapReduce的抽象。在运行时,的抽象。在运行时,Hive会将会将查询转换为一系列查询转换为一系列MapReduce作业作业。Hive比比Pig在概念上更接近
36、于关系数据库管在概念上更接近于关系数据库管理系统,因此适用于结构化程度更高的数理系统,因此适用于结构化程度更高的数据据2.2Hadoop架构与组成架构与组成ApacheMahout是在是在Hadoop上运行的一上运行的一种可扩展的计算机学习算法库。计算机学种可扩展的计算机学习算法库。计算机学习应用程序采用的是统计学原理,使系统习应用程序采用的是统计学原理,使系统学习数据并使用以往的结果来确定将来的学习数据并使用以往的结果来确定将来的行为行为。ApacheOozie是一种管理是一种管理Hadoop作业的作业的工作流协调系统。通过与工作流协调系统。通过与Hadoop堆栈集成堆栈集成后,能够支持后,
37、能够支持MapReduce、Pig、Hive和和Sqoop的的Hadoop作业;也能用于安排特定作业;也能用于安排特定于某系统的作业,例如于某系统的作业,例如Java程序或程序或Shell脚脚本。本。2.2Hadoop架构与组成架构与组成ApacheSqoop是一种用于在是一种用于在Hadoop和关和关系数据库(如系数据库(如SQL)或其他结构化数据存)或其他结构化数据存储之间尽可能高效地传输批量数据的工具储之间尽可能高效地传输批量数据的工具。ApacheZooKeeper通过数据寄存器的共通过数据寄存器的共享层次结构命名空间(享层次结构命名空间(ZNode),协调大),协调大型分布式系统中的
38、进程。型分布式系统中的进程。ZNode包含协调包含协调流程所需的少量元数据信息,如状态、位流程所需的少量元数据信息,如状态、位置、配置等。置、配置等。谢谢 谢!谢!第第3章章分布式文件系统分布式文件系统HDFS本章主要内容本章主要内容要要实实现现大大数数据据的的存存储储,需需要要使使用用几几十十台台、几几百百台台甚甚至至更更多多的的分分布布式式服服务务器器节节点点。为为了了统统一一管管理理这这些些节节点点上上存存储储的的数数据据,必必须须使使用用一一种种特特殊殊的的文文件件系系统统分分布布式式文文件件系统。系统。本本章章主主要要介介绍绍分分布布式式文文件件系系统统HDFS的的基基本本特特征征、
39、体体系系架架构构、数数据据存存储储及及访访问问方方法法,在在此此基基础础上上进进一一步步介介绍绍HDFS的的文文件件操操作作命命令、编程接口和编程示例。令、编程接口和编程示例。第第3章章分布式文件系统分布式文件系统HDFS3.1HDFS简介简介3.2HDFS体系架构体系架构3.3HDFS数据读写过程数据读写过程3.4保障保障HDFS可靠性的措施可靠性的措施3.5HDFSShell3.6HDFSJavaAPI编程实践编程实践3.1HDFS简介简介HDFSHDFS是是是是HadoopHadoop的核心技术之一。它为大数据平的核心技术之一。它为大数据平的核心技术之一。它为大数据平的核心技术之一。它为
40、大数据平台的其他所有组件提供了最基本的存储功能,其台的其他所有组件提供了最基本的存储功能,其台的其他所有组件提供了最基本的存储功能,其台的其他所有组件提供了最基本的存储功能,其高容错、高可靠、高可扩展、高获得性、高吞吐高容错、高可靠、高可扩展、高获得性、高吞吐高容错、高可靠、高可扩展、高获得性、高吞吐高容错、高可靠、高可扩展、高获得性、高吞吐率等特征为大数据存储和处理提供了强大的底层率等特征为大数据存储和处理提供了强大的底层率等特征为大数据存储和处理提供了强大的底层率等特征为大数据存储和处理提供了强大的底层存储架构。因此,它是大数据平台的基础。参照存储架构。因此,它是大数据平台的基础。参照存储
41、架构。因此,它是大数据平台的基础。参照存储架构。因此,它是大数据平台的基础。参照GoogleGoogle于于于于20032003年年年年1010月提出的月提出的月提出的月提出的GFSGFS(GooglefileGooglefilesystemsystem),),),),ApacheApache实现了实现了实现了实现了HadoopHadoop版的分布式版的分布式版的分布式版的分布式文件系统文件系统文件系统文件系统HDFSHDFS,由于,由于,由于,由于HDFSHDFS自身的成熟稳定,加自身的成熟稳定,加自身的成熟稳定,加自身的成熟稳定,加之用户众多,之用户众多,之用户众多,之用户众多,HDFSH
42、DFS已经成为当前分布式存储的已经成为当前分布式存储的已经成为当前分布式存储的已经成为当前分布式存储的事实标准。事实标准。事实标准。事实标准。3.1HDFS简介简介HDFS特点特点l l(1 1)运行在廉价硬件之上)运行在廉价硬件之上)运行在廉价硬件之上)运行在廉价硬件之上l l(2 2)适合存储超大文件)适合存储超大文件)适合存储超大文件)适合存储超大文件l l(3 3)流式数据访问)流式数据访问)流式数据访问)流式数据访问3.2HDFS体系架构体系架构HDFS采用主采用主/从(从(master/slave)架构。)架构。术语解释术语解释1.数据块数据块l l为了提高硬盘的效率,文件系统中最
43、小的数据为了提高硬盘的效率,文件系统中最小的数据为了提高硬盘的效率,文件系统中最小的数据为了提高硬盘的效率,文件系统中最小的数据读写单位不是字节,而是一种数据块。读写单位不是字节,而是一种数据块。读写单位不是字节,而是一种数据块。读写单位不是字节,而是一种数据块。l lHDFSHDFS同样也有块(同样也有块(同样也有块(同样也有块(BlockBlock)的概念,将文件划)的概念,将文件划)的概念,将文件划)的概念,将文件划分为一系列的块来存储。与一般文件系统大小分为一系列的块来存储。与一般文件系统大小分为一系列的块来存储。与一般文件系统大小分为一系列的块来存储。与一般文件系统大小为若干字节的数
44、据块不同,为若干字节的数据块不同,为若干字节的数据块不同,为若干字节的数据块不同,Hadoop2.xHadoop2.x中中中中HDFSHDFS数据块的默认大小是数据块的默认大小是数据块的默认大小是数据块的默认大小是128MB128MB,比文件系,比文件系,比文件系,比文件系统上的数据块大了几千倍,而且数据块的大小统上的数据块大了几千倍,而且数据块的大小统上的数据块大了几千倍,而且数据块的大小统上的数据块大了几千倍,而且数据块的大小可以随着实际需要而变化,配置项为可以随着实际需要而变化,配置项为可以随着实际需要而变化,配置项为可以随着实际需要而变化,配置项为hdfs-hdfs-site.xmls
45、ite.xml文件中的文件中的文件中的文件中的dfs.block.sizedfs.block.size。术语解释术语解释1.数据块数据块l lHDFSHDFS采用多副本方式对数据进行冗余存储。采用多副本方式对数据进行冗余存储。采用多副本方式对数据进行冗余存储。采用多副本方式对数据进行冗余存储。通常一个数据块的多个副本会被分布到不同的通常一个数据块的多个副本会被分布到不同的通常一个数据块的多个副本会被分布到不同的通常一个数据块的多个副本会被分布到不同的数据节点上。在数据节点上。在数据节点上。在数据节点上。在hdfs-site.xmlhdfs-site.xml文件中,通过配文件中,通过配文件中,通
46、过配文件中,通过配置项置项置项置项dfs.replicationdfs.replication来设置每个来设置每个来设置每个来设置每个HDFSHDFS块在块在块在块在HadoopHadoop集群中保存的份数,值越大,冗余性集群中保存的份数,值越大,冗余性集群中保存的份数,值越大,冗余性集群中保存的份数,值越大,冗余性越好,占用存储也越多,默认值为越好,占用存储也越多,默认值为越好,占用存储也越多,默认值为越好,占用存储也越多,默认值为3 3,即有,即有,即有,即有2 2份份份份冗余。冗余。冗余。冗余。HDFS数据块多副本机制数据块多副本机制术语解释术语解释1.数据块数据块l l多副本策略优点多
47、副本策略优点多副本策略优点多副本策略优点(1 1)加快数据传输速度。)加快数据传输速度。)加快数据传输速度。)加快数据传输速度。(2 2)容易检查数据错误。)容易检查数据错误。)容易检查数据错误。)容易检查数据错误。(3 3)保证数据的可靠性。)保证数据的可靠性。)保证数据的可靠性。)保证数据的可靠性。术语解释术语解释2.2.心跳心跳心跳心跳l l心跳是心跳是心跳是心跳是DataNodeDataNode定期向定期向定期向定期向NameNodeNameNode汇报的信息集合。汇报的信息集合。汇报的信息集合。汇报的信息集合。l lHDFSHDFS中主节点中主节点中主节点中主节点NameNodeNa
48、meNode并不会主动连接从节点并不会主动连接从节点并不会主动连接从节点并不会主动连接从节点DataNodeDataNode,而是由,而是由,而是由,而是由DataNodeDataNode主动发起。正常运行时,主动发起。正常运行时,主动发起。正常运行时,主动发起。正常运行时,每次通信都由每次通信都由每次通信都由每次通信都由DataNodeDataNode主动发起,主动发起,主动发起,主动发起,NameNodeNameNode会根据会根据会根据会根据心跳包判断此心跳包判断此心跳包判断此心跳包判断此DataNodeDataNode的当前状态,当的当前状态,当的当前状态,当的当前状态,当NameNo
49、deNameNode需需需需要向要向要向要向DataNodeDataNode发出相关存取命令时,也是通过发出相关存取命令时,也是通过发出相关存取命令时,也是通过发出相关存取命令时,也是通过“应答应答应答应答心跳包心跳包心跳包心跳包”传送的。传送的。传送的。传送的。l l如果如果如果如果NameNodeNameNode在心跳包最大间隔时间内依旧接收不在心跳包最大间隔时间内依旧接收不在心跳包最大间隔时间内依旧接收不在心跳包最大间隔时间内依旧接收不到某到某到某到某DataNodeDataNode的心跳包,的心跳包,的心跳包,的心跳包,NameNodeNameNode会认为此会认为此会认为此会认为此D
50、ataNodeDataNode已失效,并将此已失效,并将此已失效,并将此已失效,并将此DataNodeDataNode标记为标记为标记为标记为“DeadNodesDeadNodes”。3.2.1NameNodeNameNode是是HDFS的主进程名,整个集群的主进程名,整个集群中只有一个,通常称运行中只有一个,通常称运行NameNode进程进程的节点为名称节点。的节点为名称节点。NameNode三大功能:三大功能:l l(1 1)管理)管理)管理)管理HDFSHDFS命名空间命名空间命名空间命名空间l l(2 2)协调整个)协调整个)协调整个)协调整个HDFSHDFS存取存取存取存取l l(3