【pyspark】pyspark提交python代码至yarn运行

1.压缩工程文件
sudo zip -r  项目.zip.gz  ./*

2.配置PYTHONPATH,指向该目录


3.工程下创建配置文件conf.py文件
AI_PLATFORM_SOURCE=r'/usr/项目.zip'

2.代码引用外部模块
#从conf引用模块路径
from conf import 项目路径
sys.path.append(项目路径)
from settings import 项目路径


引用压缩包的类
 import_module = "类的工程路径.{0}".format(class_name)
                module = importlib.import_module(import_module, BASE_DIR)
                HandlerClass = getattr(module, class_name)
                # handler = HandlerClass(json.dumps(params))
                filename = DATA_DIR + 'feature_filter/' + 'feature_filter.json'
                handler = HandlerClass(filename)

                res = handler.execute(gai_ss.ss.sparkContext,gai_ss.ss )


4.执行程序
在项目子目录使用 zip -r  gai_platform.zip * 进行打包

提交集群运行
 bin/spark-submit --py-files 项目.zip     项目路径/demo.py --master yarn --deploy-mode cluster
 bin/spark-submit --py-files 项目.zip     项目路径/demo.py --master yarn --deploy-mode client


spark-submit --py-files hdfs://localhost:8020/user/dp/data/项目.zip 项目路径/demo.py  --master local


bin/spark-submit  \
    main.py

    --py-files  将main.py所需要的模块包,py文件都打包在一起(打成[ *.zip *.egg(第三模块(numpy,pandas))]本地文件)
   
    执行该脚本地方地方df
 

转载自:https://blog.csdn.net/dymkkj/article/details/86006088

猜你喜欢

转载自blog.csdn.net/zkq_1986/article/details/95312140
今日推荐