如何从控制台传递和访问参数以提交 pyspark 作业?



目前我们在谷歌存储上有 sample.py 文件,我们需要从控制台将参数传递给此脚本。

#sample.py
from pyspark.sql import SparkSession
from pyspark.sql import functions as F
import sys

reg = (sys.argv[1])
month = (sys.argv[2])
current_date = (sys.argv[3])

我们正在尝试使用以下命令提交作业:-

gcloud dataproc jobs submit pyspark --project=my_project --cluster=my_cluster --region=region_1 gs://shashi/python-scripts/sample.py abc 11 2019-12-05

它给出了以下错误:-

ERROR: (gcloud.dataproc.jobs.submit.pyspark) argument --properties: Bad syntax for dict arg: [spark.driver.memory]. Please see `gcloud topic flags-file` or `gcloud topic escaping` for information on providing list or dictionary flag values with special characters.
Usage: gcloud dataproc jobs submit pyspark PY_FILE --cluster=CLUSTER [optional flags] [-- JOB_ARGS ...]
optional flags may be  --archives | --async | --bucket | --driver-log-levels |
--files | --help | --jars | --labels |
--max-failures-per-hour | --properties | --py-files |
--region

您忘记在参数之前包含--

gcloud dataproc jobs submit pyspark --project=my_project --cluster=my_cluster --region=region_1 gs://shashi/python-scripts/sample.py -- abc 11 2019-12-05

最新更新