繁体   English   中英

为 Azure airflow 运算符获取等效的 DataprocCreateBatchOperator 运算符

[英]Get the equivalent DataprocCreateBatchOperator operator for Azure airflow operator

我从 airflow.providers.google.cloud.operators.dataproc 导入了 3 个运算符

  1. DataprocCreateBatchOperator
  2. DataprocDeleteBatchOperator
  3. DataprocGetBatchOperator

Azure 需要相同类型的运营商。有人可以调查一下吗,或者我必须创建一个新的运营商?

我相信与 Dataproc 运算符等效的apache-airflow-providers-microsoft-azure provider package 将是Azure Synapse Operators

具体来说, AzureSynapseRunSparkBatchOperator允许用户“在 Synapse Analytics 中执行 spark 应用程序”。

如果您在 Azure Databricks 上运行 Spark 作业,还有几个Databricks Operators可能会提供帮助。


下面是一个使用AzureSynapseHook的示例PythonOperator (通过Taskflow API )。 请注意,我没有对此进行测试,我只是用它来演示它的外观:

@task()
def cancel_spark_job(job_id: str):
    hook = AzureSynapseHook(azure_synapse_conn_id="your_conn_id")
    if hook.wait_for_job_run_status(job_id, expected_statuses=("error", "dead", "killed"):
        hook.cancel_job_run(job_id)

此任务将等待 spark 作业进入“error”、“dead”或“killed”或超时状态。 如果 spark 作业进入前面提到的状态之一,它将取消该作业。 同样,这只是为了演示如何在AzureSynapseHook中使用PythonOperator ,我不确定它是否有效,或者以这种方式实现它是否有意义。

@Mazlum Tosun

对于我的代码中的 GCP DataprocCreateBatchOperator 是这样使用的:-

create_batch = DataprocCreateBatchOperator(
    task_id="CREATE_BATCH",
    batch={
            "pyspark_batch": {
                "main_python_file_uri": f"gs://{ARTIFACT_BUCKET}/spark-jobs/main.py",
                "args": app_args,
                "python_file_uris": [
                    f"gs://{ARTIFACT_BUCKET}/spark-jobs/jobs.zip",
                    f"gs://{ARTIFACT_BUCKET}/spark-jobs/libs.zip"
                ],
                "jar_file_uris": test_jars,
                "file_uris": [
                    f"gs://{ARTIFACT_BUCKET}/config/params.yaml"
                ]
            },
            "environment_config": {
                "peripherals_config": {
                    "spark_history_server_config": {}
                }
            }
        },
        region=REGION,batch_id=batch_id_str,)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM