首页 > 解决方案 > 如何使用气流触发 google dataproc 作业并传递参数

问题描述

作为 DAG 的一部分,我正在使用以下代码触发 gcp pyspark dataproc 作业,

   dag=dag,
   gcp_conn_id=gcp_conn_id,
   region=region,
   main=pyspark_script_location_gcs,
   task_id='pyspark_job_1_submit',
   cluster_name=cluster_name,
   job_name="job_1"
)

如何将变量作为参数传递给可在脚本中访问的 pyspark 作业?

标签: apache-sparkgoogle-cloud-platformpysparkairflowgoogle-cloud-dataproc

解决方案


您可以使用DataProcPySparkOperatorarguments的参数:

arguments (list) -- 作业的参数。(模板)

job = DataProcPySparkOperator(
    gcp_conn_id=gcp_conn_id,
    region=region,
    main=pyspark_script_location_gcs,
    task_id='pyspark_job_1_submit',
    cluster_name=cluster_name,
    job_name="job_1",
    arguments=[
        "-arg1=arg1_value", # or just "arg1_value" for non named args
        "-arg2=arg2_value"
    ],
    dag=dag
)

推荐阅读