Hadoop生态系统及其版本演化
- 格式:doc
- 大小:13.07 MB
- 文档页数:47
1
第 0节 简介
以“互联网日志分析系统”这一大数据应用案例为主线,依次介绍相关的大数据技术,涉及数据收集、储存,数据分析以及可视化,最终会形成一个完整的大数据项目。
每个公司都要自己的日记分析系统,大部分系统跟日志分析系统是沾边的。也许相关的周边系统,互联网公司对人才的需求,其中一半是日志相关的需求,日志分析,涉及到分布式的所有系统,包括数据收集、存储,数据分析以及可视化,我们课程紧紧围绕这些模块进行的,
以目前最新版的hadoop稳定版2.7.3作为基础,同时兼介绍3.0的特性,只要是2.0以上版本,这个课程所介绍的都适用的。
深入浅出介绍Hadoop生态系统原理及应用,包括Hadoop各组件(Flume/HDSF/YARN/Hive/Presto)基本原理、使用方法、实战经验以及在线演示。
基础要求:
1.Linux基础,java语言基础(java是大数据语言,大数据相关的一定要学习java);
2. 项目构建工具,maven一定要知道,学习java的话,maven一定是知道的,
3.集成开发工具eclipse要知道怎么用,intellij idea 也行,一般用eclips
4.代码管理工具git,所有代码放在git上,最好git怎么用?
大数据对基础要求门槛比较高,这些基础你都具备,不需要非常熟练,有点经验、有点应用就行了,java不需要掌握很复杂的语法,linux懂基本使用即行,无需研究到内核,java能写简单的或复杂的程序,不需要很复杂就OK了,难度不高,最高5个苹果,基础型的。 2
预期收益:
1. 掌握一个完整的大数据项目架构和技术原型;
2. 利用Hadoop处理大数据问题;
3. 具备一定的Hadoop程序调优技能;
4. 学习一些通用的大数据学习思路和方法。
第一节:Hadoop的生态系统概述以及版本演化
第一节课,实战不多,重要是理论,通过这节课,让大家构建一个对大数据生态系统的一个认知,知识框架上有个整体的把握,为后续的课程对应到这个体系中,共分为5部分,
首先介绍大数据生态体系,第二部分介绍Hadpoop生态系统,第三部分介绍Hadoop版本演化以及安装部署,就是Hadoop如何安装如3
何部署?第四部分,介绍本课程的项目:分布式日志分析系统,我会详细介绍该系统的背景、挑战、目标、架构,架构中分多个模块,后面每节课讲一块,最后对这个做个总结。
我们先看第一部分,大数据技术框架,
大数据技术主要源自于互联网,更加得益于互联网非常有名的公司,如谷歌,里面很多技术都是源自于谷歌,国内的话有3个非常有名的大数据公司,或叫互联网公司(BAT),我们先看百度,百度这款产品大家都用过,就是搜索,搜一个词,百度可以在0.00几秒给你返回一个结果,百度的后端就是有一个大数据的引擎,大数据的平台做支撑,这是2013年百度公开的数据,
百度在2013年数据总量达到1000个PB左右,网页的数量大概是几千亿,每年更新的数量大概是几十亿,每天查询次数也是几十亿,大家可以看到这个数据量非常的大,这是2013年的数据,现在的数据量可能已经翻了一番了。
第二就是阿里巴巴,去年的双十一阿里巴巴火了一把,他的后端也是有一个大数据系统作为支撑,我们看看阿里的数据量: 4
阿里在2014年对外公布了一些数据,当时总体的数据量100PB, 比百度要少一点,对外宣称有30万台服务器,2011年公布了一些数据,当时淘宝每天活跃的数据量超高50TB,这些数据量可能是用户访问的日志,读写的一些数据,现在5年过去了,应该翻了好几倍了。或者翻了好几个数量级都有可能,当时的数据有4亿条产品信息,2亿多注册用户,现在有10亿都有可能,每天有超过4000万的访问量。这是2011年的数据量。
我们看看腾讯,现在是在国内市值最高的互联网公司了,在2013年公布了一些数据: 5
当时有8亿用户,4亿的移动用户,一半的移动用户,他的数据量经压缩后大概是100PB左右,每天增加200TB到300TB的数据,单个集群有4400台,在天津建一个数据中心,可以部署10万台机器。
前面介绍了BAT大数据产品情况、用户量等等,这是真正的大数据公司,我们总结一下大数据有哪些应用领域,大数据产生于互联网公司,在互联网公司有3个经典的应用场景:一个是搜索引擎,一个是推荐系统,一个是广告系统,这些是大数据所支撑的3个系统,除了互联网领域,另一个用大数据比较多就是电信领域,比如中移动,中联通,他们有大量的用户数据,比如每天,通过中移动上网,上网记录,中国移动都能存下来,都能知道,因为你的这些数据都会流进他们的基础设施,他们都会掌握,有了这些数据后,他们就了解你知道你,喜欢买什么东西,什么颜色的鞋子,收入水平是中收入,高收入,还是低收入,可以通过建模的方式掌握,有的买几十块钱有的买1万块钱,很明显是不同收入水平的人的不同行为,当然,偶然你买了个贵的,实际上你是一个屌丝,但是他的模型是基于统计的,发生机会非常多的时候,就会统计出来,有了你这种行为之后,电信领域很方便全面的了解你,第三个经典的大数据应用领域是医药生物领域,6
现在医药生物方面的创业公司非常多,尤其是DNA特区,大家知道每个成年人采集了你的血可以采集到你的DNA序列,经过压缩后的数据量大概是200-300GB,这个数据量还是非常大的,全中国有十几亿人,可以想象数据量有多大。第四个是视频行业,比如在北京,有这么多十字路口,每个十字路口有大量的摄像头,这些摄像头24小时不间断地采集数据,这些数据源源不断流到公安部的存储后台,这些数据是非常有价值的,有什么价值,给大家举个例子,比如用在刑事判案上,前几年有个周克华事件,周克华杀人了,当时公安部分压力非常大,需要快速的破案,需要知道他在这个城市的那几个位置活动过,当时找了100多个公安干警,24小时不间断地看那一片的摄像头视频,这些视频不能快进,需要一点点看,对吧,因为如果快进,他可能只出现一瞬间,就错过了,在这种情况下,100多个干警,连续看了一周多,把所有的相关视频都看完了,这个工作量非常非常的大。如果我们有大数据技术,我们可以人工智能或大数据引擎,初步的对这些视频做个筛选,把周克华可能出现的视频片段筛选出来,准确率可能不高达到60%,筛选出来后,视频量就少了,然后再由人来进一步筛选,工作量就减少很多了,这个也是典型的大数据应用领域。
7
还有金融领域,信用卡欺诈,用户分析等
还有矿产探测, 如中国地大物博,我们想知道哪里有石油,不可能找石油探测工具,每个地方打个井,看看地下有没有石油,这样不现实,只能分析各个地方的地形,来预测这个是不是可能有石油,概率高不高,这个分析的过程就是基于大数据的,考虑这个地形、天气、地貌等等。
前面举了几个大数据应用领域,当然不限于这些领域,现在应用领域越来越多。传统的行业也用的越来越多。接下来我们以技术的角度看一下,这些系统如何从技术上解决,如何构建大数据系统,我们先看一下大数据的技术框架,大数据实际上是这样一个技术,我们有数据,有各种各样的数据,比如阿里巴巴,有用户产品数据,用户注册信息,还有各种用户行为数据,搜索啊点击啊,收藏(收藏以上袜子,把你收藏行为记录下来,哪个IT,哪个时间,收藏了什么东西,用的浏览器是什么,os系统是什么,等等这些信息都会记录下来,比如点击收藏,评论购买,所有用户行为都会记录下来,),这些阿里数据,腾讯也有数据,你的所有行为都会记录下来,大数据问题是,我们有数据,我们要把这些数据变现,如何变现,我们把这些数据做分析整理后,保留有价值的部分,展示给用户,比如这个用户,可能是互联网用户,给他做了个推荐,他买了一双袜子,推荐更多的袜子来促进他的消费,这个就是一个典型的大数据应用推荐系统,另外,广告系统,你买一双袜子,给你推荐另一双袜子或鞋子,打一堆广告,这些也是一个大数据应用,广告系统,搜索引擎,他给用户一个数组框,从数据元到用户,需要经过哪几个阶段呢?或者有几层呢?这里有6层,第六层是数据收集(ETL),比如阿里巴巴,有天猫、淘宝、高德地图,等,还有产品日记等,可以从各个产品线上收集产品数据,如果有些数据没有,可以从网上买,购买一些数据,不管怎样,你从各个地方把数据收集起来,这个数据收集,在不同公司难度是不一样的,比如,你收集我们部门的数据,不让,我们的数据是保密的,用户数据别人看到怎么办?同样阿里巴巴整合多个数据线来收8
集数据,人家不一定给你收集,你如何保证数据安全,这些都是数据面临的问题,我们有一节详细讲解如何收集数据,数据收集上来后,接上来,我们要存储它,这个数据往往非常大,用传统的关系数据库,如mysql,oricle,可能搞不定,这些都是单机的,我们的数据可能100TB,1PB在,一台机器根本存不下,我们需要有一套分布式的解决方案,我们需要用10台机器100台机器来存储,这既需要用到分布式存储技术解决这个问题,我们这个课程也会介绍分布式存储如何做,存下来之后,除非你只想做一个网盘存数据,比如百度云,要对数据进行分析的,只存下来不分析没有价值,更多通过分析来产生价值,如何做分析,我们需要利用资源,如cpu、内存,来做些模型来做分析,分析过程需要资源,需要cup、网络等等,这个时候我们需要资源管理层,来管理资源,比如你有100个节点,如何管理者100个节点上的资源,如你们公司有5个团队,一个集群,如何把这些cpu内存分给各个组,让他们很友好的共享这个集群,这个就是资源管理系统要做的事情,我们有一节,详细介绍资源管理系统,如何划分资源,如何分队列,如何管理用户等等,在资源管理之上,我们可以跑各种各样的计算框架,来解决不同场景下的计算问题,现在总结下来大数据有3类问题,第一种是批处理,什么是批处理,比如说有一堆数据,10T,我想分析这10T数据,产生一个报表,统计一下,可能是一些用户行为数据,我先看一下淘宝双11当天,这10T数据中,全国每一个省,男女购买不同品牌衣服的购买量是多少,可以1个小时产生一个报表,不需要1秒产生,1个小时产生就行,或者是双11第二天,马云来公司看到也行,这个我一个批处理,讲求高吞吐率,处理这么大的数据量,
第二种计算框架是交互式计算,人机交互,通过一种,语言来表达我的技术需求,交给系统,系统可以很快给我反馈这种结果,我要发一个人机交互,交互对性能有要求,不能一个小时才反馈,这样就不是交互了,可能
第三种是流式计算,数据流水式进来,来一条处理一条, 9
这是3种计算场景,这课重点讲前2种,批处理和交互式计算,流式计算最后一节会提一下,在第10节课。这3种是通用的计算框架,计算框架之上,是不同领域使用不同的计算框架解决这些领域的问题。如百度,会使用这些框架解决搜索引擎的问题,阿里巴巴可能解决推荐问题和广告问题,不同的公司使用不同的框架解决不同的问题。
接下来是数据分析层,数据分析是面向行业,对吧,数据我不会直接给用户看,如每天的交易量,我们不会这样做,我们会做一个数据可视化系统,通过图表,直观的表达方式,推荐给用户,数据可视化在一些情况下也是比较难做的,如我要可视化整个北京交通线上的交通的拥挤程度,或每个时刻交通事故的数目,动态的更新,这个可视化比较难做,现在很多创业公司在做数据可视化,我们这课,每一层都给大家介绍,都会把最经典一天系统拿出来给大家讲,包括数据收集,存储,资源管理,计算框架, 数据分析,数据可视化,全部给大家讲,学完这个课后,学一个完整的项目,从数据收集到数据可视化,