为什么学习Spark?

讲到Spark,我们要先讲将大数据,因为Spark是一个处理大数据的平台。那什么是大数据呢?大数据也称为海量数据,通常都是指TG级、PB级的数据,但是随着时间的流逝和验证,一些人们对大数据也发生了观念上的转变,而是把对企业有价值的数据称为大数据,它不一定大,但要有价值。

近二十年来,随着计算机技术和互联网技术的高速发展,计算机在记录着人类的日常活动,如手机通讯、网站访问、微博留言、视频上传、商品买卖、物流运送。。。,无处不在的社会活动和商业活动正在源源不断地产生着各种各样的数据,而这些数据正以不可思议的速度积累着,从GB级向着TB级、PB级发展。

面对如此海量的数据,一方面是这些信息如同巨大的宝藏等待人们去挖掘,如果能善以利用,这些数据将引导现在社会的科研和商业活动,进入一个黄金时代;另一方面,这些数据的迅猛发展,挑战着包括数据中心基础设施和数据分析基础架构在内的数据处理的各个环节。幸运的是,近几年云计算技术的发展和各种计算框架的出现,使得分析和掌握大数据中蕴藏的无尽信息、知识、智慧成为可能。

下面我们看看两个图:

这是一个google的热力图,使用专用设备跟踪参与调查的访问者的眼球在网页上的停留轨迹。这种图直接显示了用户的视觉体验——他们在页面的哪些区域停留的时间更长。

另一个是微博的传播图,可以看出微博的传播途径的规律。

很明显,通过这些数据的分析,得到其中的规律和潜在的信息,我们可以更好的将有限的资源利用到更有效果的地方。

那么如何去挖掘这些信息呢?让我们看看大数据分析平台一览图

面对琳琅满目、令人有些眼花缭乱的各种产品,该做何种选择?我们选择了Spark。为什么?

1:All-In-One的解决方案

谈到Spark,大多数的人首先想到的是内存计算框架,计算速度很快等概念。但对于系统架构师或IT信息部门主管来说,更吸引其眼光的应该是Spark的All-In-One的解决方案。我们来看看最新的Spark Stack:

除了核心的Spark Core Engine外,Spark提供了应用在不同场景上的处理工具:

  • 应用于流式计算的Spark Streaming
  • 应用于即席查询(Ad-hoc)的Spark SQL
  • 应用于机器学习(数据挖掘)的MLlib
  • 应用于图处理的GraphX
  • 将R扩展成并行计算的SparkR
  • 还有权衡精度和速度的查询引擎BlinkDB

这意外着采用Spark将减少人力和资金的投入,降低的系统的复杂性,减轻维护的工作量。

2:天下武功,唯快不破

运行速度快,开发速度快是Spark最耀眼的特点:

  • Spark号称在磁盘上的运行速度是MapReduce的10倍以上,在内存上的运行速度是MapReduce的100以上;这不仅仅是Spark是基于内存计算,更因为是Spark采用了DAG算法减少了IO开销。

  • Spark应用程序d的开发量比MapReduce少2-5倍

3:迅猛发展的趋势

  • 2009年由Berkeley’s AMPLab开始编写最初的源代码
  • 2010年开放源代码
  • 2013年6月进入Apache孵化器项目
  • 2014年成为Apache的顶级项目之一
  • 目前已经有30+公司100+开发者在提交代码
  • Hadoop最大的厂商Cloudera宣称加大Spark框架的投入来取代Mapreduce
  • Spark1.0.0发布。。。
时间: 2024-11-05 18:37:08

为什么学习Spark?的相关文章

Spark 学习: spark 原理简述与 shuffle 过程介绍

Spark学习: 简述总结 Spark 是使用 scala 实现的基于内存计算的大数据开源集群计算环境.提供了 java,scala, python,R 等语言的调用接口. Spark学习 简述总结 引言 1 Hadoop 和 Spark 的关系 Spark 系统架构 1 spark 运行原理 RDD 初识 shuffle 和 stage 性能优化 1 缓存机制和 cache 的意义 2 shuffle 的优化 3 资源参数调优 4 小结 本地搭建 Spark 开发环境 1 Spark-Scal

word2vec学习 spark版

参考资料: http://ir.dlut.edu.cn/NewsShow.aspx?ID=291 http://www.douban.com/note/298095260/ http://machinelearning.wustl.edu/mlpapers/paper_files/BengioDVJ03.pdf https://code.google.com/p/word2vec/ word2vec是NLP领域的重要算法,它的功能是将word用K维的dense vector来表达,训练集是语料库

小白学习Spark系列四:rdd踩坑总结

初次尝试用 Spark+scala 完成项目的重构,由于两者之前都没接触过,所以边学边用的过程大多艰难.首先面临的是如何快速上手,然后是代码调优.性能调优.本章主要记录自己在项目中遇到的问题以及解决方式,下篇会尝试调优方法.末尾会分享自己的学习资料,也供大多菜鸟第一次使用作为参考.由于自己项目中大量使用spark sql,所以下面的经验大多是和spark sql有关.同样下面也列出作为菜鸟在学习过程中的困惑以及踩的坑,还请大牛勿笑 ~_~ 如果有更好的方式解决,欢迎留言,一起学习. 1.常用场景

【转载】Spark学习——spark中的几个概念的理解及参数配置

首先是一张Spark的部署图: 节点类型有: 1. master 节点: 常驻master进程,负责管理全部worker节点.2. worker 节点: 常驻worker进程,负责管理executor 并与master节点通信.dirvier:官方解释为: The process running the main() function of the application and creating the SparkContext.即理解为用户自己编写的应用程序 一.Application ap

努力学习Spark技术,顺应大数据开发潮流

当前,大数据的实时计算.分析和可视化是行业大数据应用真正落地的关键.为适应这一需求和趋势,开源组织Apache提出了基于Spark 分析和计算框架,其优点: (1)       性能优越.框架中的Spark技术指内存计算:数据处理仅运行于系统内存中,避免以前的框架系统中的硬盘和内存频繁交换数据的时间消耗.另外,Spark框架为批处理(Spark Core),交互式(Spark SQL),流式(Spark Streaming),机器学习(MLlib),图计算(Graphx)提供一个统一的数据处理平

系统学习spark计划_spark老汤

老汤spark由浅入深深到底系列课程计划简介如下: spark 2.x 由浅入深深到底一_正确理解spark(课程已经发布) 本课程不会有太多的技术细节,主要是一些分布式存储和计算的基本理念和思想 目标: 1: 彻底弄懂什么是RDD及其特点 2: 彻底弄懂什么是spark的分布式内存计算,进而理解spark真正解决的问题 3: 彻底弄懂spark是怎样解决各个领域问题,以及在解决各个领域问题的时候的特点 见:http://edu.51cto.com/course/10932.html spark

Spark的Rpct模块的学习

Spark的Rpct模块的学习 Spark的Rpc模块是1.x重构出来可,以前的代码中大量使用了akka的类,为了把akka从项目的依赖中移除,所有添加了该模块.先看下该模块的几个主要的类 使用EA把该模块所有的类都添加进来了 要看懂该模块还是要先了解akka,  akka有Actor和ActorRef两个类,一个用于接收消息,一个用于发送消息.正好对应该模块的RpcEndpoint和RpcEndpointRef两个类. 下面大致介绍下这几个类,附带一些scala的特性 1:RpcAddress

Spark学习笔记0

自学Spark已经有一段时间,之前遇到了很多阻力,从Scala语法,基本概念,源码编译,环境部署,开发环境只能自己慢慢尝试,几乎是一步一个跟头.当还在痛苦的读着源码时候,发现spark的版本还在不断的升级,新的东西越来越多,让人应接不暇.偶然间发现51CTO的相关资源,希望共享给同时Spark的学习者们,避免他们再走我走过的弯路.也希望开始将自己学习Spark的过程记录下来. 王家林的第一个中国梦:免费为全社会培养100万名优秀的大数据从业人员! 您可以通过王家林老师的微信号1861008685

【Spark深入学习 -10】基于spark构建企业级流处理系统

----本节内容------- 1.流式处理系统背景 1.1 技术背景 1.2 Spark技术很火 2.流式处理技术介绍 2.1流式处理技术概念 2.2流式处理应用场景 2.3流式处理系统分类 3.流式处理技术关键技术 3.1流式处理系统管道构建 3.2流式处理系统关键技术 3.3用户行为分析系统介绍 4.问题答疑 5.参考资料 --------------------- 1.流式处理技术 1.1 技术背景 业务驱动技术发展,脱了了业务的技术,最多就是一个研究性的东西,流式处理技术的火爆源于业内