airflow.providers.google.cloud.triggers.dataproc

此模块包含 Google Dataproc 触发器。

DataprocBaseTrigger

Dataproc 触发器的基类。

DataprocSubmitTrigger

DataprocSubmitTrigger 在 trigger worker 上运行以执行创建 Build 操作。

DataprocClusterTrigger

DataprocClusterTrigger 在 trigger worker 上运行以执行创建 Build 操作。

DataprocBatchTrigger

DataprocCreateBatchTrigger 在 trigger worker 上运行以执行创建 Build 操作。

DataprocDeleteClusterTrigger

DataprocDeleteClusterTrigger 在 trigger worker 上运行以执行删除集群操作。

DataprocOperationTrigger

定期从 Dataproc API 轮询长时间运行操作信息以验证状态的触发器。

模块内容

class airflow.providers.google.cloud.triggers.dataproc.DataprocBaseTrigger(region, project_id=PROVIDE_PROJECT_ID, gcp_conn_id='google_cloud_default', impersonation_chain=None, polling_interval_seconds=30, cancel_on_kill=True, delete_on_error=True)[source]

基类: airflow.triggers.base.BaseTrigger

Dataproc 触发器的基类。

region[source]
project_id = None[source]
gcp_conn_id = 'google_cloud_default'[source]
impersonation_chain = None[source]
polling_interval_seconds = 30[source]
cancel_on_kill = True[source]
delete_on_error = True[source]
get_async_hook()[source]
get_sync_hook()[source]
class airflow.providers.google.cloud.triggers.dataproc.DataprocSubmitTrigger(job_id, **kwargs)[source]

基类: DataprocBaseTrigger

DataprocSubmitTrigger 在 trigger worker 上运行以执行创建 Build 操作。

参数:
  • job_id (str) – Dataproc 作业的 ID。

  • project_id – 作业运行所在的 Google Cloud 项目。

  • region – 处理请求所在的 Cloud Dataproc 区域。

  • gcp_conn_id – 可选,用于连接到 Google Cloud Platform 的连接 ID。

  • impersonation_chain – 可选的服务账号,用于使用短期凭据进行模拟,或账户链列表,需要获取列表中最后一个账户的 access_token,该 token 将用于请求中的模拟。如果设置为字符串,则该账户必须授予发起账户 Service Account Token Creator IAM 角色。如果设置为序列,则列表中的身份必须授予紧前身份 Service Account Token Creator IAM 角色,列表中第一个账户向发起账户授予此角色(模板化)。

  • polling_interval_seconds – 检查状态的轮询周期(秒)。

job_id[source]
serialize()[source]

返回重建此触发器所需的信息。

返回:

元组,包含(类路径,重新实例化所需的关键字参数)。

get_task_instance(session)[source]

获取当前任务的任务实例。

参数:

session (sqlalchemy.orm.session.Session) – Sqlalchemy 会话

safe_to_cancel()[source]

取消此触发器正在执行的外部作业是否安全。

这是为了避免因触发器自身停止而调用 asyncio.CancelledError 的情况。因为在这些情况下,我们不应该取消外部作业。

async run()[source]

在异步上下文中运行触发器。

触发器在想要触发事件时应 yield 一个 Event,如果完成则返回 None。单事件触发器因此应 yield 然后立即返回。

如果它 yield,很可能会很快恢复,但也可能不会(例如,如果工作负载正在移动到另一个 triggerer process,或者多事件触发器用于单事件 task defer)。

在任何情况下,Trigger 类都应假定它们会被持久化,并在不再需要时依赖于 cleanup() 被调用。

class airflow.providers.google.cloud.triggers.dataproc.DataprocClusterTrigger(cluster_name, **kwargs)[source]

基类: DataprocBaseTrigger

DataprocClusterTrigger 在 trigger worker 上运行以执行创建 Build 操作。

参数:
  • cluster_name (str) – 集群名称。

  • project_id – 作业运行所在的 Google Cloud 项目。

  • region – 处理请求所在的 Cloud Dataproc 区域。

  • gcp_conn_id – 可选,用于连接到 Google Cloud Platform 的连接 ID。

  • impersonation_chain – 可选的服务账号,用于使用短期凭据进行模拟,或账户链列表,需要获取列表中最后一个账户的 access_token,该 token 将用于请求中的模拟。如果设置为字符串,则该账户必须授予发起账户 Service Account Token Creator IAM 角色。如果设置为序列,则列表中的身份必须授予紧前身份 Service Account Token Creator IAM 角色,列表中第一个账户向发起账户授予此角色(模板化)。

  • polling_interval_seconds – 检查状态的轮询周期(秒)。

cluster_name[source]
serialize()[source]

返回重建此触发器所需的信息。

返回:

元组,包含(类路径,重新实例化所需的关键字参数)。

返回类型:

tuple[str, dict[str, Any]]

get_task_instance(session)[source]
safe_to_cancel()[source]

取消此触发器正在执行的外部作业是否安全。

这是为了避免因触发器自身停止而调用 asyncio.CancelledError 的情况。因为在这些情况下,我们不应该取消外部作业。

async run()[source]

在异步上下文中运行触发器。

触发器在想要触发事件时应 yield 一个 Event,如果完成则返回 None。单事件触发器因此应 yield 然后立即返回。

如果它 yield,很可能会很快恢复,但也可能不会(例如,如果工作负载正在移动到另一个 triggerer process,或者多事件触发器用于单事件 task defer)。

在任何情况下,Trigger 类都应假定它们会被持久化,并在不再需要时依赖于 cleanup() 被调用。

async fetch_cluster()[source]

获取集群状态。

async delete_when_error_occurred(cluster)[source]

发生错误时删除集群。

参数:

cluster (google.cloud.dataproc_v1.Cluster) – 要删除的集群。

class airflow.providers.google.cloud.triggers.dataproc.DataprocBatchTrigger(batch_id, **kwargs)[source]

基类: DataprocBaseTrigger

DataprocCreateBatchTrigger 在 trigger worker 上运行以执行创建 Build 操作。

参数:
  • batch_id (str) – 构建 ID。

  • project_id – 作业运行所在的 Google Cloud 项目。

  • region – 处理请求所在的 Cloud Dataproc 区域。

  • gcp_conn_id – 可选,用于连接到 Google Cloud Platform 的连接 ID。

  • impersonation_chain – 可选的服务账号,用于使用短期凭据进行模拟,或账户链列表,需要获取列表中最后一个账户的 access_token,该 token 将用于请求中的模拟。如果设置为字符串,则该账户必须授予发起账户 Service Account Token Creator IAM 角色。如果设置为序列,则列表中的身份必须授予紧前身份 Service Account Token Creator IAM 角色,列表中第一个账户向发起账户授予此角色(模板化)。

  • polling_interval_seconds – 检查状态的轮询周期(秒)。

batch_id[source]
serialize()[source]

序列化 DataprocBatchTrigger 参数和类路径。

async run()[source]

在异步上下文中运行触发器。

触发器在想要触发事件时应 yield 一个 Event,如果完成则返回 None。单事件触发器因此应 yield 然后立即返回。

如果它 yield,很可能会很快恢复,但也可能不会(例如,如果工作负载正在移动到另一个 triggerer process,或者多事件触发器用于单事件 task defer)。

在任何情况下,Trigger 类都应假定它们会被持久化,并在不再需要时依赖于 cleanup() 被调用。

class airflow.providers.google.cloud.triggers.dataproc.DataprocDeleteClusterTrigger(cluster_name, end_time, metadata=(), **kwargs)[source]

基类: DataprocBaseTrigger

DataprocDeleteClusterTrigger 在 trigger worker 上运行以执行删除集群操作。

参数:
  • cluster_name (str) – 集群名称

  • end_time (float) – 检查集群状态剩余的时间(秒)

  • project_id – 集群所属的 Google Cloud 项目 ID

  • region – 处理请求的 Cloud Dataproc 区域

  • metadata (collections.abc.Sequence[tuple[str, str]]) – 提供给方法的额外元数据

  • gcp_conn_id – 获取连接信息时使用的连接 ID。

  • impersonation_chain – 可选的服务账号,用于使用短期凭据进行模拟,或账户链列表,需要获取列表中最后一个账户的 access_token,该 token 将用于请求中的模拟。如果设置为字符串,则该账户必须授予发起账户 Service Account Token Creator IAM 角色。如果设置为序列,则列表中的身份必须授予紧前身份 Service Account Token Creator IAM 角色,列表中第一个账户向发起账户授予此角色。

  • polling_interval_seconds – 检查集群状态之间休眠的时间(秒)

cluster_name[source]
end_time[source]
metadata = ()[source]
serialize()[source]

序列化 DataprocDeleteClusterTrigger 参数和类路径。

async run()[source]

等待集群完全删除。

class airflow.providers.google.cloud.triggers.dataproc.DataprocOperationTrigger(name, operation_type=None, **kwargs)[source]

基类: DataprocBaseTrigger

定期从 Dataproc API 轮询长时间运行操作信息以验证状态的触发器。

实现利用异步传输。

name[source]
operation_type = None[source]
serialize()[source]

返回重建此触发器所需的信息。

返回:

元组,包含(类路径,重新实例化所需的关键字参数)。

async run()[source]

在异步上下文中运行触发器。

触发器在想要触发事件时应 yield 一个 Event,如果完成则返回 None。单事件触发器因此应 yield 然后立即返回。

如果它 yield,很可能会很快恢复,但也可能不会(例如,如果工作负载正在移动到另一个 triggerer process,或者多事件触发器用于单事件 task defer)。

在任何情况下,Trigger 类都应假定它们会被持久化,并在不再需要时依赖于 cleanup() 被调用。

此条目是否有帮助?