zoukankan      html  css  js  c++  java
  • Spark学习之路(一)

    1. Spark的系统架构
      Spark采用master/worker结构,master负责管理应用和任务,worker节点负责执行任务。
    2. 几个概念
    • Spark driver,Spark驱动程序,指的是Spark应用中main函数的进程
    • Executor,Spark执行器,是Spark计算资源的一个单位,Spark先以Executor为单位占用集群资源。然后将具体的任务分配给Executor执行
    • task,是Spark中最小的计算单位,不能再被拆分,task以线程的方式运行再executor进程中,执行具体的任务,executor持有一个线程池,执行一个task
    1. 为什么task是以线程的方式运行而不是进程?
    • 保证task之间相互独立,独享进程资源,监控比较方便
    • 任务执行的过程中task会不断启用和停止,进程启动和停止会耗费大量的时间
    1. Spark任务执行的流程
      (1)编写Spark任务的计算逻辑,(2)Spark根据计算逻辑建立DAG型的逻辑处理流程,(3)然后根据逻辑处理流程生成物理执行计划,物理执行计划中包含具体的计算任务task,最后Spark将task分配到具体的机器上执行。
    2. Job作业
      涉及到具体的计算操作action才算做是一个job,比如count
    3. 物理执行计划是如何生成的?
    • 确定应用会产生哪些作业job
    • 根据逻辑处理流程中的数据依赖关系将job拆分为执行阶段stage
    • 对于每一个stage,根据rdd的分区个数确定task的个数和种类
  • 相关阅读:
    linux系统禁止root用户通过ssh登录及ssh的访问控制
    POJ 3670 , 3671 LIS
    hello world是怎样运行的?
    MFC框架中消失的WinMain()
    [置顶] android LBS的研究与分享(附PPT)
    POJ 3616 DP
    IMP 导入数据报错 OCI-21500 OCI-22275
    误删/tmp导致hadoop无法启停, jsp无法查看的解决方法
    java的文件操作类File
    C#的可空类型与不可空类型
  • 原文地址:https://www.cnblogs.com/swordspoet/p/14530466.html
Copyright © 2011-2022 走看看