spark复习

本文深入探讨Spark核心概念,包括Application、Driver Program、Cluster Manager、Worker Node和Executor的角色。详细阐述了Job、Stage、Task和Partition的关系,以及shuffle和result的重要性。此外,还介绍了Spark DataFrame的原理和使用,以及Spark SQL在数据分析中的应用。最后讨论了Spark与Hadoop、HBase、Kafka的组合使用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 spark core的重要概念和理解

1.1 spark基本概念

  1. Application
    用户在 spark 上构建的程序,包含了 driver 程序以及在集群上运行的程序代码,物理机器上涉及了 driver,master,worker 三个节点.

  2. Driver Program
    创建 sc ,定义 udf 函数,定义一个 spark 应用程序所需要的三大步骤的逻辑:加载数据集,处理数据,结果汇总和展示。

  3. Cluster Manager
    集群的资源管理器,在集群上获取资源的外部服务。 拿 Yarn 举例,客户端程序会向 Yarn 申请计算我这个任务需要多少的 memory,多少 CPU,etc。 然后 yarn会通过调度告诉客户端可以使用申请的资源,然后客户端就可以把程序送到每个 Worker Node 上面去执行了。也就是说,先申请资源,然后调度资源,再之执行程序。

  4. Worker Node
    集群中任何一个可以运行spark应用代码的节点。Worker Node就是物理节点,可以在上面启动Executor进程。区别与Master节点,Work Node上执行的程序流程稍单纯一些。

  5. Executor
    在每个 Worker Node 上为某应用启动的一个进程(注意:是进程,不是线程),该进程负责运行任务,并且负责将数据存在内存或者磁盘上,每个任务都有各自独立的 Executor。 Executor 是一个执行 Task 的容器。它的主要职责是:

    • 初始化程序要执行的上下文 SparkEnv,解决应用程序需要运行时的 jar 包的依赖,加载类。
    • 同时还有一个ExecutorBackend 向 cluster manager 汇报当前的任务状态,这一方面有点类似 hadoop的tasktracker 和 task。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值