我有一个要求,我必须根据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可以理解的方式它。
现在,我该如何使用“部署模式”作为此处的参数之一来传递?