一、大数据时代
1.第三次信息化浪潮:根据IBM前首席执行官郭士纳的观点,IT领域每隔十五年就会迎来一次重大变革。
2.数据产生方式的变革促成大数据时代的来临:
①存储设备容量不断增加
②CPU处理能力大幅提升
③网络带宽不断增加
等等,为大数据时代提供技术支撑。
二、大数据概念
1.大数据概念:
大数据不仅仅是数据的“大量化”,而是包含“快速化”、“多样化”和“价值化”等多重属性。
2.大数据的特点
①数据量大:根据IDC作出的估测,数据一直都在以每年50%的速度增长,也就是说每两年就增长一倍(大数据摩尔定律)
人类在最近两年产生的数据量相当于之前产生的全部数据量
预计到2020年,全球将总共拥有35ZB的数据量,相较于2010年,数据量将增长近30倍。
②数据类型繁多:大数据是由结构化和非结构化数据组成的
10%的结构化数据,存储在数据库中90%的非结构化数据,他们与人类信息密切相关。
③处理速度快:从数据的生成到消耗,时间窗口非常小,可用于生成决策的时间非常少,1秒定律:这一点也是和传统的数据挖掘技术有着本质的不同。
④价值密度低,商业价值高:以视频为例,连续不间断监控过程中,可能有用的数据仅仅有一两秒,但是具有很高的商业价值。
3.大数据的影响
在思维方式方面,大数据完全颠覆了传统的思维方式:
1.全样而非抽样
2.效率而非精确
3.相关而非因果
4.大数据技术的不同层面及其功能
5.大数据关键技术
6.大数据计算模式
三、Spark简介
1.Spark简介
Spark最初由美国加州大学伯克利分校(UC Berkeley)的AMP实验室于2009年开发,是基于内存计算的大数据并行计算框架,可用于构建大型的、低延迟的数据分析应用程序。
2013年Spark加入Apache孵化器项目后发展迅猛,如今已成为Apache软件基金会最重要的三大分布式计算系统开源项目之一(Hadoop、Spark、Storm)。
Spark在2014年打破了Hadoop保持的基准排序纪录。
Spark/206个节点/23分钟/100TB数据。
Hadoop/2000个节点/72分钟/100TB数据。
Spark用十分之一的计算资源,获得了比Hadoop快3倍的速度。
2.spark的特点
①运行速度快:使用DAG执行引擎以支持循环数据流与内存计算。
②容易使用:支持使用Scala、Java、Python和R语言进行编程,可以通过Spark Shell进行交互式编程 。
③通用性:Spark提供了完整而强大的技术栈,包括SQL查询、流式计算、机器学习和图算法组件。
④运行模式多样:可运行于独立的集群模式中,可运行于Hadoop中,也可运行于Amazon EC2等云环境中,并且可以访问HDFS、Cassandra、HBase、Hive等多种数据源 。
3.spark未来前景
Spark如今已吸引了国内外各大公司的注意,如腾讯、淘宝、百度、亚马逊等公司均不同程度地使用了Spark来构建大数据分析应用,并应用到实际的生产环境中。
4.spark架构图
5.Spark生态系统
Hadoop与Spark的对比
1.Hadoop存在如下一些缺点:
①表达能力有限。
②磁盘IO开销大。
③延迟高。
④任务之间的衔接涉及IO开销。
⑤在前一个任务执行完成之前,其他任务就无法开始,难以胜任复杂、多阶段的计算任务。
2.Spark在借鉴Hadoop MapReduce优点的同时,很好地解决了MapReduce所面临的问题。
相比于Hadoop MapReduce,Spark主要具有如下优点:
①Spark的计算模式也属于MapReduce,但不局限于Map和Reduce操作,还提供了多种数据集操作类型,编程模型比Hadoop MapReduce更灵活。
②Spark提供了内存计算,可将中间结果放到内存中,对于迭代运算效率更高。
③Spark基于DAG的任务调度执行机制,要优于Hadoop MapReduce的迭代执行机制 。