将Spark-R作业添加到Dataproc工作流程模板

时间:2019-03-13 12:45:15

标签: google-cloud-platform workflow google-cloud-dataproc

我尝试以两种不同的方式向我的工作流程模板添加spark-r作业步骤。

使用gcloud命令:

gcloud beta dataproc workflow-templates add-job spark-r gs://path/to/script.R \
    --step-id=<stepid> --workflow-template=<templateid>

或通过导入YAML定义:

jobs:
- sparkRJob:
    mainRFileUri: gs://path/to/script.R
  stepId: <stepid>
placement:
  managedCluster:
    clusterName: cluster-sparkr
    config:
      gceClusterConfig:
        zoneUri: europe-west4-b
      masterConfig:
        machineTypeUri: n1-standard-4
      workerConfig:
        machineTypeUri: n1-standard-4
        numInstances: 4

但是,两种方法都会导致以下错误:

  

INVALID_ARGUMENT:作业“”必须提供作业定义

这让我对我到底缺少什么感到困惑。

1 个答案:

答案 0 :(得分:1)

我已经测试了您的YAML定义,并且可以通过以下命令为我工作:

gcloud beta dataproc workflow-templates instantiate-from-file --file <definition.yaml>

此外,使用gcloud命令成功创建了带有Spark R作业的工作流模板:

gcloud beta dataproc workflow-templates create my-test-wf-01
gcloud beta dataproc workflow-templates add-job spark-r gs://path/to/script.R \
    --step-id=my-test-step-id --workflow-template=my-test-wf-01

上面第二条命令的输出:

createTime: '2019-04-15T16:49:06.346Z'
id: my-test-wf-01
jobs:
- sparkRJob:
    mainRFileUri: gs://path/to/script.R
  stepId: my-test-step-id