Spark简介与基本术语

一、Spark简介与优点:

Spark 是专为大规模数据处理而设计的开源、快速、通用的计算引擎。可以使用Java、Scala、Python、R 和 SQL 等语言调用API来执行spark 。Spark可以在Hadoop YARN、Apache Mesos 和独立集群管理器上运行。最初在2009年由加州大学伯克利分校的AMPLab开发,并于2010年成为Apache的开源项目之一。Spark借鉴Hadoop MapReduce优点的同时,解决了MapReduce所面临的问题,相比Hadoop MapReduce,主要具有如下优点:

1、Spark的计算模式也属于MapReduce,但不局限于Map和Reduce操作,还提供了多种数据集操作类型,如:filter、flatMap、lookup 、reduce、groupByKey等,编程模式更加灵活;

2、Spark提供的内存计算,可将中间输出结果直接保存在内存中,而不需要读写HDFS磁盘文件,有数据验证执行逻辑回归的运行速度比Hadoop MapReduce提升100倍,但是,在磁盘上,它的运行速度也比Hadoop快10倍;

3、Spark基于DAG的任务调试执行机制,要优于Hadoop MapReduce迭代执行机制;

4、而且Spark生态与社区越来越活跃,很多厂家与开发人员加入Spark大本营;

Spark 生态系统

二、Spark常用术语:

RDD:是弹性分布式数据集(Resilient Distributed Dataset)的简称,是分布式内存的一个抽象概念,它是一个_不可变的_数据集,不能随时间变化。这些数据可以存储在整个集群的内存或磁盘中。数据在集群上进行逻辑分区。它提供跨集群的并行操作。由于 RDD 无法更改,因此可以使用多种操作进行转换。此外,RDD 是容错的。如果发生任何故障,它可以通过逻辑拓普图自动重建丢失的数据。

DAG:是Directed Acyclic Graph(有向无环图)的简称,反映RDD之间的依赖关系。

Driver Program:驱动程序是运行应用程序main()函数的进程。它还创建了 SparkContext。该程序运行在机器的主节点上。同时,它还声明了对数据 RDD 的转换和操作。负责为Application构建DAG图。

Cluster Manager:集群资源管理中心,负责分配计算资源,spark支持A_pache Spark Standalone_集群管理器、Hadoop Yarn、Mesos等。

Worker Node:工作节点,负责完成具体计算,集群中任何运行程序的节点都被定义为工作节点。

Executor:是运行在工作节点(Worker Node)上的一个进程,负责运行Task,并为应用程序存储数据。

Application:用户编写的Spark应用程序,一个Application包含多个Job。

Job:作业,一个Job包含多个RDD及作用于相应RDD上的各种操作。

Stage:阶段,是作业的基本调度单位,一个作业会分为多组任务,每组任务被称为“阶段”。

Task:任务,运行在Executor上的工作单元,是Executor中的一个线程。

总结:Application由多个Job组成,Job由多个Stage组成,Stage由多个Task组成。Stage是作业调度的基本单位。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值