airflow.providers.google.cloud.triggers.dataproc

此模块包含 Google Dataproc 触发器。

模块内容

DataprocBaseTrigger

Dataproc 触发器的基类。

DataprocSubmitTrigger

DataprocSubmitTrigger 在触发器工作器上运行,以执行创建构建操作。

DataprocClusterTrigger

DataprocClusterTrigger 在触发器工作器上运行,以执行创建构建操作。

DataprocBatchTrigger

DataprocCreateBatchTrigger 在触发器工作器上运行,以执行创建构建操作。

DataprocDeleteClusterTrigger

DataprocDeleteClusterTrigger 在触发器工作器上运行,以执行删除集群操作。

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)[来源]

基类: airflow.triggers.base.BaseTrigger

Dataproc 触发器的基类。

get_async_hook()[来源]
get_sync_hook()[来源]
class airflow.providers.google.cloud.triggers.dataproc.DataprocSubmitTrigger(job_id, **kwargs)[来源]

基类: DataprocBaseTrigger

DataprocSubmitTrigger 在触发器工作器上运行,以执行创建构建操作。

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

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

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

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

  • impersonation_chain – 可选的服务帐户,用于使用短期凭据进行模拟,或用于获取列表中最后一个帐户的 access_token 的链接帐户列表,该 access_token 将在请求中进行模拟。如果设置为字符串,则该帐户必须授予发起帐户“服务帐户令牌创建者”IAM 角色。如果设置为序列,则列表中的标识必须授予紧接在其之前的标识“服务帐户令牌创建者”IAM 角色,列表中的第一个帐户将此角色授予发起帐户(模板化)。

  • polling_interval_seconds – 检查状态的轮询周期(以秒为单位)

serialize()[来源]

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

返回

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

get_task_instance(session)[来源]

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

参数

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

safe_to_cancel()[来源]

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

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

async run()[来源]

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

触发器应在其想要触发事件时产生一个事件,并在完成时返回 None。因此,单事件触发器应生成然后立即返回。

如果它产生,则很可能会很快恢复,但可能不是(例如,如果工作负载正在转移到另一个触发器进程,或者多事件触发器正用于单事件任务延迟)。

在任何一种情况下,触发器类都应假设它们将被持久化,然后依赖于在不再需要它们时调用 cleanup()。

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

基类: DataprocBaseTrigger

DataprocClusterTrigger 在触发器工作器上运行,以执行创建构建操作。

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

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

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

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

  • impersonation_chain – 可选的服务帐户,用于使用短期凭据进行模拟,或用于获取列表中最后一个帐户的 access_token 的链接帐户列表,该 access_token 将在请求中进行模拟。如果设置为字符串,则该帐户必须授予发起帐户“服务帐户令牌创建者”IAM 角色。如果设置为序列,则列表中的标识必须授予紧接在其之前的标识“服务帐户令牌创建者”IAM 角色,列表中的第一个帐户将此角色授予发起帐户(模板化)。

  • polling_interval_seconds – 检查状态的轮询周期(以秒为单位)

serialize()[来源]

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

返回

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

返回类型

tuple[str, dict[str, Any]]

get_task_instance(session)[来源]
safe_to_cancel()[来源]

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

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

async run()[来源]

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

触发器应在其想要触发事件时产生一个事件,并在完成时返回 None。因此,单事件触发器应生成然后立即返回。

如果它产生,则很可能会很快恢复,但可能不是(例如,如果工作负载正在转移到另一个触发器进程,或者多事件触发器正用于单事件任务延迟)。

在任何一种情况下,触发器类都应假设它们将被持久化,然后依赖于在不再需要它们时调用 cleanup()。

async fetch_cluster()[源代码]

获取集群状态。

async delete_when_error_occurred(cluster)[源代码]

发生错误时删除集群。

参数

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

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

基类: DataprocBaseTrigger

DataprocCreateBatchTrigger 在触发器工作器上运行,以执行创建构建操作。

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

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

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

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

  • impersonation_chain – 可选的服务帐户,用于使用短期凭据进行模拟,或用于获取列表中最后一个帐户的 access_token 的链接帐户列表,该 access_token 将在请求中进行模拟。如果设置为字符串,则该帐户必须授予发起帐户“服务帐户令牌创建者”IAM 角色。如果设置为序列,则列表中的标识必须授予紧接在其之前的标识“服务帐户令牌创建者”IAM 角色,列表中的第一个帐户将此角色授予发起帐户(模板化)。

  • polling_interval_seconds – 检查状态的轮询周期(以秒为单位)

serialize()[源代码]

序列化 DataprocBatchTrigger 参数和类路径。

async run()[源代码]

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

触发器应在其想要触发事件时产生一个事件,并在完成时返回 None。因此,单事件触发器应生成然后立即返回。

如果它产生,则很可能会很快恢复,但可能不是(例如,如果工作负载正在转移到另一个触发器进程,或者多事件触发器正用于单事件任务延迟)。

在任何一种情况下,触发器类都应假设它们将被持久化,然后依赖于在不再需要它们时调用 cleanup()。

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

基类: DataprocBaseTrigger

DataprocDeleteClusterTrigger 在触发器工作器上运行,以执行删除集群操作。

参数
  • 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 所需的链式帐户列表,该帐户将在请求中模拟。 如果设置为字符串,则该帐户必须授予原始帐户“服务帐户令牌创建者”IAM 角色。 如果设置为序列,则列表中的标识必须将“服务帐户令牌创建者”IAM 角色授予紧随其前的标识,列表中的第一个帐户将此角色授予原始帐户。

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

serialize()[源代码]

序列化 DataprocDeleteClusterTrigger 参数和类路径。

async run()[源代码]

等待直到集群完全删除。

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

基类: DataprocBaseTrigger

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

实现利用异步传输。

serialize()[源代码]

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

返回

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

async run()[源代码]

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

触发器应在其想要触发事件时产生一个事件,并在完成时返回 None。因此,单事件触发器应生成然后立即返回。

如果它产生,则很可能会很快恢复,但可能不是(例如,如果工作负载正在转移到另一个触发器进程,或者多事件触发器正用于单事件任务延迟)。

在任何一种情况下,触发器类都应假设它们将被持久化,然后依赖于在不再需要它们时调用 cleanup()。

此条目是否有帮助?