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上的工作单元。

  • 相关阅读:
    什么?Spring Boot CommandLineRunner 有坑!?
    关于 websocket 跨域的一个奇怪问题…
    电商金额计算的 4 个坑,千万注意了!
    微服务模块划分原则和接口定义原则
    tcp的三次握手(连接)与四次挥手(断开)
    二叉树遍历及算法实现
    elasticsearch搜索 倒排索引
    kubernetes落地-传统web服务迁移
    Docker核心技术-容器管理
    Docker核心技术-镜像管理
  • 原文地址:https://www.cnblogs.com/yangyh11/p/13875395.html
Copyright © 2011-2022 走看看