Spark 基础(上篇)

Spark 是专为大规模数据处理而设计的快速通用的计算引擎,是apache的一个开源项目。是一种跟hadoop相似的通用分布式并行计算框架,但是两者之间还存在一些不同之处。spark是一种基于内存计算的分布式执行框架,在执行速度上大大优于hadoop.

1. spark的历史

  • 2009年,spark诞生于加州大学伯克利分校AMPLab.
  • 2010和2012年关于spark的两篇论文发表:
    M. Zaharia, M. Chowdhury, M. J. Franklin, S. Shenker, and I. Stoica, “Spark: cluster computing with working sets,” in Proceedings of the 2nd USENIX conference on Hot topics in cloud computing, 2010, pp. 10–10.
    M. Zaharia, M. Chowdhury, T. Das, A. Dave, J. Ma, M. McCauley, M. J. Franklin, S. Shenker, and I. Stoica, “Resilient distributed datasets: A fault-tolerant abstraction for in- memory cluster computing,” in Proceedings of the 9th USENIX conference on Networked Systems Design and Implementation, 2012, pp. 2–2.
  • 2013年,在GitHub上成立了Spark开发社区并成为Apache孵化项目。
  • 2014年2月,该项目成为Apache顶级项目。
  • 2014年5月30日,Spark 1.0.0版正式上线。
  • 至2016年底,spark的最新版本2.1.0已发布上线。
  • 截止目前,Spark官方维护运营公司Databricks已经组织并举办了四年Spark Summit技术峰会。

2. spark的特点

  • 处理速度快
      随着信息技术的发展,数据也以惊人的数据在增长,而数据处理的速度也成为人们越来越关注的话题。由于spark支持内存级计算功能,因此spark执行速度要远远高于hadoop
  • 多语言、多API支持
      Spark支持多语言。Spark允许Java、Scala、Python及R,这允许更多的开发者在自己熟悉的语言环境下进行工作,普及了Spark的应用范围。
  • 多业务场景支持
      提供了对etl、流处理、机器学习和图计算等几种主流数据处理场景的支持
  • 开源生态环境支持
      拥有广泛的开源生态环境的支持,底层数据源部分包括hdfs、cassandra、hbase以及alluxio等等,拥有yarn、mesos等分布式框架的支持,如下图所示:
图1. Spark开源生态系统

3. spark的体系结构

Spark主要包括Spark Core和在Spark Core基础之上建立的应用框架Spark SQL、Spark Streaming、MLlib和GraphX.
  Core库中主要包括上下文(Spark Context)、抽象数据集(RDD、DataFrame和DataSet)、调度器(Scheduler)、洗牌(shuffle)和序列化器(Serializer)等。Spark系统中的计算、IO、调度和shuffle等系统基本功能都在其中。
  在Core库之上就根据业务需求分为用于交互式查询的SQL、实时流处理Streaming、机器学习Mllib和图计算GraphX四大框架,除此外还有一些其他实验性项目如Tachyon、BlinkDB和Tungsten等。Hdfs是Spark主要应用的持久化存储系统。Spark 体系结构如下图所示:

图2. Spark 体系结构

4. spark 执行框架

spark应用程序运行在分布式集群上,通过集群管理器(cluster manger)将驱动程序(driver program)节点跟工作节点(work node)相连,实现分布式并行工作。如下图所示:

图3. spark 执行流程

创建spark应用程序时,首先要创建sparkContext,SparkContext 允许驱动程序(spark driver)通过资源管理器访问集群。同时sparkContext还存有来自sparkConf的配置信息。这些配置信息用于分配集群资源,比如worker节点运行的executors 的number, memory 大小和cores等等。驱动程序将这些配置信息通知给集群管理器(cluster manager),集群管理器收到配置信息后,在集群上根据程序配置的executor number给应用程序寻找相应个数的工作节点(work node)。并在每个工作节点创建一个executor(作为单个执行单元),每个executor根据程序的配置信息分配响应的内存空间(如shuffle内存和存储内存等等)。
  程序执行时,根据rdd(弹性分布式数据集—spark程序中数据的基本类型)中分区的数量将每个stag(程序的每个执行步骤,以shuffle为边界)分成相同数目的task,分到各个executor中去执行。每个executor中一次执行的task数量是由程序调用时给executor配置的核数决定的。
  本篇我们大致介绍下spark的发展历史、spark的特点以及spark的组成框架,让不熟悉spark的朋友对spark有一个简单的了解。如果您已经对spark有些了解,可继续看spark基础的下篇。在下篇中,将给大家介绍spark任务调度的详细流程、spark的基本数据结构:rdd、dataframe以及dataset、以及spark的基本执行单元stage的划分。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,590评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 86,808评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,151评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,779评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,773评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,656评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,022评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,678评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,038评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,659评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,756评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,411评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,005评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,973评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,053评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,495评论 2 343

推荐阅读更多精彩内容