第112讲:为什么会有第一代大数据技术Hadoop和第二代大数据技术Spark?学习笔记
本讲开始hadoop深入浅出实战经典部分
本讲内容:
1.第一代大数据技术Hadoop
2.第二代大数据技术Spark
hadoop开启了人们大规模普及化使用大数据的历史阶段。
但hadoop在计算方面有问题,所以更多用spark来做大数据计算。
大数据要解决的三大核心问题:存储、多种计算范式、处理速度
1.存储:用户使用数据时并不关心数据是存储在多台机器上的。hadoop的hdfs很好地解决了大数据的存储问题。
2.有多种计算方式:以SQL为核心的数据仓库技术、流处理技术、机器学习、图计算。Spark又集成了R语言。R语言以前都是在单机上运行,现在可以在分布式系统上运行。最理想的是安装一套系统就可以解决所有问题。
3.处理速度:大数据时代处理速度更为重要。
※ 大数据和数据规模没有关系。一个计算是否是大数据,主要看1.对数据价值提取的程度,比如有100M的数据,但需要对这100m数据进行复杂的pagerank或机器学习,这时就可以称为大数据,或者对数据处理速度要求特别高。当然1TB或1PB的数据也可以称为大数据。所以规模不是问题,主要是我们要从数据中提取什么样的价值以及以什么样的速度提取。
作为第一代技术hadoop很好地解决了存储的问题,但没有很好地解决多种计算范式和处理速度的问题。
spark很好地解决了多种计算范式和处理速度问题。安装spark后相当于安装了机器学习、流处理、图计算和R语言。
hadoop+spark=A Winning Combination
hadoop最重要的是hdfs。
hadoop又推出了yarn这个资源管理框架。
MapReduce是道格根据google的三篇论文创造出来的计算框架,把分布式计算分为map和reduce阶段,mapper把很大的问题分解成若干个小问题,reducer把小问题计算结果进行reduce。但mapreduce每次计算都是基于磁盘的,即每次计算都要读写磁盘,导致在两种情况下不适用:1.对数据多步骤迭代的。如对数据进行1万次迭代,mapreduce就需要读写1万次磁盘,这是没有必要而且效率低,2.效率上要求计算在分/秒级别出结果,mapreduce也不能胜任。
Spark用一套软件同时解决了流处理、机器学习、图试算问题,而且功能更强大,速度更快。
Spark Shell上不仅可以直接写SQL也可以写各种业务逻辑直接操作spark大数据集群。这是非常方便的。
Spark本身已经非常完善了。现在又发布了1.5.1。
hadoop最新版本推荐使用2.6.0。
spark在多步骤迭代时可以比hadoop快100多倍,spark还可以直接操作hadoop中的所有类型的数据、NoSQL等。
hadoop要解决多种范式就需要安装storm/impala/Giraph等,需要多个团队维护。而且多个技术团队间的交互不好。而spark一站就可以解决所有问题。
spark代码非常简练,GraphX只有两三千行代码,Giraph就要七八万行。
SparkSQL也只有三四千行,对于技术人员来说这就是空前的机遇,因为一切问题都来自于源码,一切问题的答案也来自于源码。这对于取得技术的制高点是至关重要的。
接下来要用200讲来讲hadoop。原因:1.hadoop是第一代普及性大数据技术。有必要研究hadoop。2.大部分公司还在用hadoop,只有少数公司才有spark。所以有必要分享hadoop企业级应用的方方面面及实战技术背后的内容。
下一讲用10分钟时间讲什么是hadoop及hadoop内部具体的内容。
以上内容是从王家林老师DT大数据课程第112讲的学习笔记。
DT大数据微信公众账号:DT_Spark
王家林老师QQ:1740415547
王家林老师微信号:18610086859
DT大数据梦工厂1至114集scala的所有视频、PPT和代码在百度云盘的链接:http://pan.baidu.com/share/home?uk=4013289088#category/type=0&qq-pf-to=pcqq.group
第112讲视频网站地址:
51CTO |
http://edu.51cto.com/lesson/id-77153.html |