![](/img/trans.png)
[英]Airflow Operator BigQueryTablePartitionExistenceSensor Question
[英]Get the equivalent DataprocCreateBatchOperator operator for Azure airflow operator
我从 airflow.providers.google.cloud.operators.dataproc 导入了 3 个运算符
DataprocCreateBatchOperator
DataprocDeleteBatchOperator
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.