Dataproc 参数未在 spark 提交上读取

Dataproc arguments not being read on spark submit

我正在使用 dataproc 在 spark 上提交作业。但是在 spark-submit 上,非 spark 参数被读取为 spark 参数!

我在 运行 一份特定工作时收到下面的 error/warning。

Warning: Ignoring non-spark config property: dataproc:dataproc.conscrypt.provider.enable=false

gcloud dataproc jobs submit spark \
--cluster my-cluster \
--region us-east1 \
--properties dataproc:dataproc.conscrypt.provider.enable=false,spark.executor.extraJavaOptions=$SPARK_CONF,spark.executor.memory=${MEMORY}G,spark.executor.cores=$total_cores \
--class com.sample.run \
--jars gs://jars/jobs.jar \
-- 1000

我想知道我当前的格式有什么问题。提前致谢。

spark-submit 只是默默地忽略了不是以 spark 开头的 conf 选项。 这就是 属性 说它被忽略的原因。

--properties dataproc:dataproc.conscrypt.provider.enable=false

任何 属性 你应该作为 spark.属性name

这只是警告。

为什么需要这个 属性 :

The Conscrypt security provider has been temporarily changed from the default to an optional security provider. This change was made due to incompatibilities with some workloads. The Conscrypt provider will be re-enabled as the default with the release of Cloud Dataproc 1.2 in the future. In the meantime, you can re-enable the Conscrypt provider when creating a cluster by specifying this Cloud Dataproc property:

--properties dataproc:dataproc.conscrypt.provider.enable=true 这必须在创建集群时指定,因为这是集群 属性,而不是 spark 的 属性。 (意味着 spark 框架无法理解这一点并被忽略。)

用法示例:

gcloud beta dataproc clusters create my-test
--project my-project
--subnet prod-sub-1
--zone southamerica-east1-a
--region=southamerica-east1
--master-machine-type n1-standard-4
--master-boot-disk-size 40
--num-workers 5
--worker-machine-type n1-standard-4
--worker-boot-disk-size 20
--image-version 1.2
--tags internal,ssh,http-server,https-server
--properties dataproc:dataproc.conscrypt.provider.enable=false
--format=json
--max-idle=10m

然后开始这样的工作...

gcloud dataproc jobs submit pyspark gs://path-to-script/spark_full_job.py
--cluster=my-test
--project=my-project
--region=southamerica-east1
--jars=gs://path-to-driver/mssql-jdbc-6.4.0.jre8.jar
--format=json -- [JOB_ARGS]