airflow.providers.microsoft.azure.operators.synapse

AzureSynapseRunSparkBatchOperator

在 Azure Synapse 上執行 Spark 作業。

AzureSynapsePipelineRunLink

構造一個連結以監控 Azure Synapse 中的管道執行。

AzureSynapseRunPipelineOperator

執行 Synapse 管道。

模組內容

class airflow.providers.microsoft.azure.operators.synapse.AzureSynapseRunSparkBatchOperator(*, azure_synapse_conn_id=AzureSynapseHook.default_conn_name, wait_for_termination=True, spark_pool='', payload, timeout=60 * 60 * 24 * 7, check_interval=60, **kwargs)[source]

基礎: airflow.models.BaseOperator

在 Azure Synapse 上執行 Spark 作業。

引數:
  • azure_synapse_conn_id (str) – 用於連線到 Azure Synapse 的連線識別符號。

  • wait_for_termination (bool) – 等待作業執行終止的標誌。

  • spark_pool (str) – 用於提交作業的目標 synapse spark 池

  • payload (azure.synapse.spark.models.SparkBatchJobOptions) – 與 Livy 相容的 payload,表示使用者想要提交的 spark 作業

  • timeout (int) – 對於非非同步等待,等待作業達到終端狀態的超時時間(秒)。僅當 wait_for_termination 為 True 時使用。

  • check_interval (int) – 對於非非同步等待,檢查作業執行狀態的時間間隔(秒)。僅當 wait_for_termination 為 True 時使用。

template_fields: collections.abc.Sequence[str] = ('azure_synapse_conn_id', 'spark_pool')[source]
template_fields_renderers[source]
ui_color = '#0678d4'[source]
job_id = None[source]
azure_synapse_conn_id = 'azure_synapse_default'[source]
wait_for_termination = True[source]
spark_pool = ''[source]
payload[source]
timeout = 604800[source]
check_interval = 60[source]
property hook[source]

建立並返回一個 AzureSynapseHook (已快取)。

execute(context)[source]

建立 operator 時實現此方法。

Context 與渲染 jinja 模板時使用的字典相同。

有關更多上下文,請參考 get_template_context。

on_kill()[source]

當任務例項被殺死時,重寫此方法以清理子程序。

在 operator 中使用 threading, subprocess 或 multiprocessing 模組的任何地方都需要清理,否則會留下殭屍程序。

基礎: airflow.sdk.BaseOperatorLink

構造一個連結以監控 Azure Synapse 中的管道執行。

name = 'Monitor Pipeline Run'[source]

連結名稱。這將是任務 UI 上的按鈕名稱。

get_fields_from_url(workspace_url)[source]

從 Synapse 工作區 URL 中提取 workspace_name、subscription_id 和 resource_group。

引數:

workspace_url – 工作區 URL。

連結到外部系統。

引數:
返回:

到外部系統的連結

class airflow.providers.microsoft.azure.operators.synapse.AzureSynapseRunPipelineOperator(pipeline_name, azure_synapse_conn_id, azure_synapse_workspace_dev_endpoint, wait_for_termination=True, reference_pipeline_run_id=None, is_recovery=None, start_activity_name=None, parameters=None, timeout=60 * 60 * 24 * 7, check_interval=60, **kwargs)[source]

基礎: airflow.models.BaseOperator

執行 Synapse 管道。

引數:
  • pipeline_name (str) – 要執行的管道名稱。

  • azure_synapse_conn_id (str) – Azure Synapse 的 Airflow 連線 ID。

  • azure_synapse_workspace_dev_endpoint (str) – Azure Synapse 工作區開發端點。

  • wait_for_termination (bool) – 等待管道執行終止的標誌。

  • reference_pipeline_run_id (str | None) – 管道執行識別符號。如果指定此執行 ID,將使用指定執行的引數建立一個新執行。

  • is_recovery (bool | None) – 恢復模式標誌。如果恢復模式設定為 True,指定的引用管道執行和新執行將歸入同一個 groupId 下。

  • start_activity_name (str | None) – 在恢復模式下,重跑將從這個活動開始。如果未指定,所有活動都將執行。

  • parameters (dict[str, Any] | None) – 管道執行的引數。這些引數在管道中透過 @pipeline().parameters.parameterName 引用,並且僅在未指定 reference_pipeline_run_id 時使用。

  • timeout (int) – 對於非非同步等待,等待管道達到終端狀態的超時時間(秒)。僅當 wait_for_termination 為 True 時使用。

  • check_interval (int) – 對於非非同步等待,檢查管道執行狀態的時間間隔(秒)。僅當 wait_for_termination 為 True 時使用。

template_fields: collections.abc.Sequence[str] = ('azure_synapse_conn_id',)[source]
azure_synapse_conn_id[source]
pipeline_name[source]
azure_synapse_workspace_dev_endpoint[source]
wait_for_termination = True[source]
reference_pipeline_run_id = None[source]
is_recovery = None[source]
start_activity_name = None[source]
parameters = None[source]
timeout = 604800[source]
check_interval = 60[source]
property hook[source]

建立並返回一個 AzureSynapsePipelineHook (已快取)。

execute(context)[source]

建立 operator 時實現此方法。

Context 與渲染 jinja 模板時使用的字典相同。

有關更多上下文,請參考 get_template_context。

execute_complete(event)[source]

立即返回 - 觸發器觸發時的回撥。

依賴觸發器丟擲異常,否則假定執行成功。

on_kill()[source]

當任務例項被殺死時,重寫此方法以清理子程序。

在 operator 中使用 threading, subprocess 或 multiprocessing 模組的任何地方都需要清理,否則會留下殭屍程序。

此條目是否有幫助?