Spark运行模式

我们先看一个完整的实例wordcount

import org.apache.spark._
import SparkContext._
object WordCount {
    def main(args: Array[String]) {
        if (args.length != 3 ){
            println("usage is org.test.WordCount <master> <input> <output>")
            return
        }
        val sparkConf = new SparkConf().setAppName("WordCount")
        val sc = new SparkContext(sparkConf)
        val rowRdd= sc.textFile(args(1))
        val resultRdd = rowRdd.flatMap(line => line.split("\\s+"))
        .map(word => (word, 1)).reduceByKey(_ + _)
        resultRdd.saveAsTextFile(args(2))
    }
}

程序的核心执行流程就是最后三行代码,用图例展示如下:
程序执行流程
放大节点

以运行在YARN上为例,提交上面Spark程序的脚本如下:

spark-submit --masteryarn-cluster
--class com.roger.examples.WordCount
--driver-memory 2g //driver进程使用的内存大小
--driver-cores 1 //driver程序运行需要的cpu内核数
--executor-memory 3g //每个executor进程使用的内存大小
--executor-cores 3
--num-executors 3

local模式

本地模式是将Spark应用以多线程方式直接运行在本地,通常用于程序调试。其分类如下:
local:只启动一个executor
local[K]:启动K个executor
local[*]:启动跟cpu数目相同的executor

standalone模式

独立模式是将Spark应用独立运行在一个集群中。
独立模式

YARN分布式模式(yarn-client)

yarn-client

YARN分布式模式(yarn-cluster)

yarn-cluster

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值