spark的指令参数

一、spark的指令参数

在spark的bin下有是spark的指令,指令运行时可以指定对用的参数,实现对服务的控制

# 查看指令参数
pyspark --help

# 常用参数的使用
pyspark --master yarn  --name yarn_demo  --conf 'PYSPARK_PYTHON=/export/server/anaconda3/bin/python3'  --conf '其他配置'
--executor-memory 2G --executor-cores 2 --num-executors 3

# 表示应用运行的模式,要么是本地local要么是集群(Standalone、YARN、Mesos)了
--master MASTER_URL
# 本地模式∶local[2]  数字表示可以使用到本地的cpu核心数据量,  loacl[*]  *表示自动判断
# Standalone集群∶spark∶//xxx∶7077,yyy∶7077 
# YARN 集群∶ yarn 

# 表示Drive Program运行的地方,也叫做应用部署模式,默认值为client,通常在生成环境中使用cluster
--deploy-mode DEPLOY_MODE

# 表示运行Spark Application的类名称,注意为类的全名称(包含包名)
--class CLASS_NAME 

# 表示的是应用运行的名称,通常在应用开发的时候指定
--name NAME 

# 表示应用的类所依赖的第三方的Jar包指定路径,通常在本地文件系统中,多个】ar包使用逗号隔开<15
-jars JARS

# 表示应用运行时指定的某些参数配置,http∶//spark.apache.org/docs/2.2.0/configuration.html
# 当value中值有空格组成的时候,使用双引号将key=value引起来
# 可以不用在bashrc写配置可以通过conf配置,每次运行都要指定很麻烦
--conf "PROP=VALUE"
# 第一种方式∶属性的值中没有空格
--conf spark.eventLog.enabled=false
# 第二种方式∶属性的值中有空格,将属性和值统一使用双引号引起来
--conf"spark.executor.extraJavaOptions=-XX:+PrintGCDetails -XX:+PrintGCTimestamps"


# Driver相关配置
# 指定Driver Program JVM进程内存大小,默认值为1g
--driver-memory MEM

# 表示Driver 运行CLASS PATH路径,使用不多
--driver-class-path

# Spark standalone with cluster deploy mode∶运行在standalone 中cluster Deploy Mode 默认值为1  cpu核心数据
# 运行在YARN in cluster mode,默认值是1 
--driver-cores NUM 

# 运行在standalone的 中cluster Deploy Mode下,表示当Driver运行异常失败,可以自己重启
--supervise 


# Executor运行所需内存大小
--executor-memory MEM 

# Execturo 运行的CPU Cores,默认的情况下,在Standalone集群上为worker节点所有可有的CpuCores,在YARN集群下为1 
--executor-cores NUM

# 表示运行在Standalone集群下,所有Executor的CPU Cores,结合--executor-cores计算出Executor个数
--total-executor-cores

# 表示在YARN集群下,Executor的个数,默认值为2
--num-executors

# 表示Executor运行的队列,默认为default队列
--queue QUEUE_NAME

standalone   fifo

二、spark-submit提交方式

集群模式提交计算任务的模式

client 客户端(本地)模式

cluster 集群模式

区别在于dirver在哪里运行?

dirver在提交代码的服务器上运行时,就是client模式

dirver有资源调度分配在哪台机器上运行,就是cluster

提交指令

spark-submit  --deploy-mode cluster  代码文件名

  • client
    • 该模式提交时,是在当前服务器上运行dirver,有可能当前服务器资源不足,造成dirver无法运行
    • 不需要给dirver创建container,直接使用本地。默认能使用的资源 内存1G  cpu核心 1个
  • cluster
    • 集群模式提交dirver有rm生成,rm虽然是随机找nm,但是中的是资源充足的nm,可以保证dirver能正常运行
    • applicationmaster和dirver运行在同一台服务器上,使用不同容器资源
  • 使用
spark-submit --master yarn  --deploy-mode cluster  代码文件

三、spark中的名词解释

当spark完成计算后,会产生对应的日志计算信息,在计算信息中显示了计算的流程

流程中涉及Application,job,stage,task的信息

  • Application 代表一个计算程序,当运行一个dirver时就会有一个计算程序,可以指定名称
  • job  计算任务
    • stage  将计算任务划分多个计算部分,每个stage中的任务并行执行  rdd依赖
    • task  以线程的方式执行每个计算部分中的代码

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值