如何在arg名称中使用“连字符”将args传递给python

时间:2019-07-10 19:04:40

标签: python python-3.x apache-spark pyspark pyspark-sql

我有一个要求,我必须根据Spark的部署模式在应用程序内执行某些步骤。我在此过程中有不同的“步骤”,并且某些步骤需要使用spark部署模式“客户端”,而其他步骤则应使用“集群”。所有这三个参数都通过spark-submit传递。

我正在使用下面的解析器-

parser = argparse.ArgumentParser()
parser.add_argument("--exec_date", help="Business Date")
parser.add_argument("--step_num", help="Optional: Step to Run")
parser.add_argument("deploy-mode", help="deploy-mode")
args = parser.parse_args()

现在,我将所有这些参数传递给我的主脚本-

execJob(sqlContext, args.exec_date, args.step_num, args.deploy-mode) 

现在我不能使用arg“ deploy-mode”,因为Python不允许arg名称使用连字符(“-”),而且我无法更改名称“ deploy-mode”,因为这是Spark可以理解的方式它。

现在,我该如何使用“部署模式”作为此处的参数之一来传递?

0 个答案:

没有答案