pyspark以spark-submit 运行Python程序

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))]本地文件)

经验分享 程序员 微信小程序 职场和发展