zoukankan      html  css  js  c++  java
  • 【Spark学习笔记】01-Spark简介

    Spark

    Spark是专为大规模数据处理而设计的快速通用的计算引擎。

    Spark拥有MapReduce都具有的优点,但不同的是Spark的job中间处理结果可以保存在内存中,从而不再需要读取HDFS。

    Spark能更好的适用于数据挖掘与机器学习等需要迭代的算法。

    一、Spark特点

    1.速度快。

    2.简单易用。

    3.通用。

    4.无处不运行 --Yarn|Mesos|Standalone|K8s

    二、Spark技术栈

    相关:HDFS,Yarn,Hive,Storm,

    SparkCore,SparkSQL,SparkStreaming

    三、Spark与MapReduce的区别

    都是分布式计算框架,Spark基于内存,MR基于HDFS。

    Spark:

    1.Spark基于内存计算。

    2.Spark有DAG(有向无环图)执行引擎,来切分任务的执行先后顺序。

    四、Spark运行模式

    1.Local

    多用于本地测试,如在Eclipse,Idea中写程序测试等。

    2.Standalone

    Standalone是Spark自带的一个资源调度框架,它支持完全分布式。

    3.Yarn

    Hadoop生态圈里面的一个资源调度框架,Spark也是可以基于Yarn来计算的。

    4.Mesos

    Apache的资源调度框架。

    注意:要基于Yarn来进行资源调度,必须实现ApplicationMaster接口,Spark实现了这个接口,所以可以基于Yarn

    五、术语解释

    1.Master

    Standalone资源管理的主节点(进程)。

    2.Worker

    Standalone资源管理的从节点(进程)。

    3.Application

    基于Spark的用户程序,包含了Driver程序和运行在集群上的Executor程序。

    4.Driver

    用来连接Worker进程的程序。

    5.Executor

    是在一个Worker进程所管理的节点上为Application启动的一个进程。该进程负责运行任务,并且将数据存在内存或者磁盘上,每一个Application都有各自独立的Executor

    6.Job

    包含很多Task的并行计算。可以看作和Action算子对应,一个Application中有多少个Action算子,就有多少个Job。

    7.Stage

    一个Job会被拆分很多组任务,每组任务被称为Stage。Stage切割规则,从前往后,遇到宽依赖就切割。

    8.Task

    被送到某个Executor上的工作单元。

  • 相关阅读:
    hdu 5400 Arithmetic Sequence(模拟)
    hdu 5402 Travelling Salesman Problem(大模拟)
    hdu 5009 Paint Pearls (dp)
    poj 1236 Network of Schools(tarjan+缩点)
    hdu 3836 Equivalent Sets(tarjan+缩点)
    编程之美2015初赛第一场 hihoCoder #1156 : 彩色的树(染色问题)
    hdu 2807 The Shortest Path(矩阵+floyd)
    The Unique MST (判断是否存在多个最小生成树)
    Advanced Fruits(好题,LCS的模拟)
    Dark roads(kruskal)
  • 原文地址:https://www.cnblogs.com/yangyh11/p/13875395.html
Copyright © 2011-2022 走看看