读取多个目录下的本地文件多個目录通过循环遍历的方式,以参数传递:
读取多个目录下的本地文件多個目录通过循环遍历的方式,以参数传递:
设置为true 时在job 结束时,保留staged 文件;否则删掉这些文件
|
在失败应用程序之前,executor 失败的最大次数
|
每个executor 分配的堆外内存。
|
在集群模式下每个driver 分配的堆外内存。
|
在客户端模式下每个driver 分配的堆外内存
|
应用提交的yarn 队列的名称
|
Jar 文件存放的地方。默认情况下spark jar 安装在本地,但是jar 也可以放在hdfs 上其他机器也可以共享。
|
这里我们要区分一下什么是客户端模式(client mode
)什么是集群模式(cluster mode
)。
我们知道当在YARN
上运行Spark
作业时,每个Spark
Master
)Φ它负责向YARN
申请资源,并监督作业的运行状况当用户提交了作业之后,就可以关掉Client
作业会继续在YARN
上运行。然而yarn-cluster
模式不适合运行交互類型的作业
Master仅仅向YARN
请求executor
,client
会和请求的container
通信来调度他们工作也就是说Client
不能离开。下面的图形象表示了两者的区别
当作业提交到YARN
上之后,客户端就没事了甚至在终端关掉那个进程也没事,因为整个作业运行在YARN
集群上进行运行的结果将会保存到HDFS
或者日志中。
和yarn-cluster
模式一样,整个程序也是通过spark-submit
脚本提交的但是yarn-client
作业程序的运行不需要通过Client
类来封装启动,而是直接通过反射机制调用莋业的main
函数下面是流程。
SparkSubmit
类的launch
的函数直接调用作业的main
函数(通过反射机制实现)如果是集群模式就会调用Client
的main
函数。
main
函数一定都有个SparkContent
并对其进行初始化;
逗号分隔的文件,这些文件放在每个executor的工作目录下面 |
固定的spark配置属性 |
传给driver的额外的库路径 |
传给driver嘚额外的类路径 |
模拟提交应用程序的用户 |
Driver的核数默认是1。在yarn集群模式下使用 |
队列名称在yarn下使用 |
启动的executor数量。默认为2在yarn下使用 |