spark-submit \
--master yarn \ 指定作业运行的资源调度方式
--py-files 'xxx.zip'
--conf spark.pyspark.python=/opt/installs/anaconda3/bin/python3 \
--conf spark.pyspark.driver.python=/opt/installs/anaconda3/bin/python3 \
--deploy-mode client \ 部署模式, driver启动位置 可选的参数值:client、cluster
--driver-memory 1G \ driver驱动器的内存,默认是1g
--driver-cores 1 \ driver驱动器cpu核心数,默认1
--num-executors 2 \ executor执行器的数量,默认是2
--executor-memory 2G \ 执行器的内存带下,默认是2g
--executor-cores 2 \ 执行器的核心数
--queue yarn队列名称 \ 队列
--py-files配置参数
35_测试.py文件
from pyspark import SparkContext, SparkConf
from util import str_util
if __name__ == '__main__':
conf = SparkConf().setAppName("测试")
sc = SparkContext(conf=conf)
sc.setLogLevel("WARN")
rdd1 = sc.parallelize([1,2,3,4,5,6,7,8,9,10],2)
rdd2 = rdd1.map(lambda v:str_util.to_str_prefix(v))
list1 = rdd2.collect()
for i in list1:
print(i)
sc.stop()
util包下的str_util.py文件
def to_str_prefix(v):
return '_'+str(v)
在linux上跑yarn任务
spark-submit --master yarn 35_测试.py
报错: No module named 'util'
解决方案:
将在windows系统上测代码压缩为zip上传至linux系统上,或者将
util
文件夹在linux上使用zip命令进行压缩
1. yum install zip
2. zip -r util.zip util
3. spark-submit --master yarn --py-files '/opt/sparkcode/util.zip' 35_测试.py #可以写相对或者绝对路径
--deploy-mode配置参数
spark-submit --master yarn --deploy-mode cluster --py-files '/opt/sparkcode/util.zip' 35_测试.py
--queue参数配置
spark-submit --master yarn --deploy-mode cluster --py-files '/opt/sparkcode/util.zip' --queue hive 35_测试.py