airflow.providers.google.cloud.hooks.mlengine

此模块包含一个 Google ML Engine Hook。

模块内容

MLEngineHook

用于 Google ML Engine API 的 Hook。

MLEngineAsyncHook

用于获取 MLEngine 异步 Hook 的类。

属性

log

airflow.providers.google.cloud.hooks.mlengine.log[源代码]
class airflow.providers.google.cloud.hooks.mlengine.MLEngineHook(gcp_conn_id='google_cloud_default', impersonation_chain=None, **kwargs)[源代码]

基类: airflow.providers.google.common.hooks.base_google.GoogleBaseHook

用于 Google ML Engine API 的 Hook。

Hook 中使用 project_id 的所有方法都必须使用关键字参数而不是位置参数调用。

get_conn()[源代码]

检索与 MLEngine 的连接。

返回

Google MLEngine 服务对象。

返回类型

googleapiclient.discovery.Resource

create_job(job, project_id, use_existing_job_fn=None)[源代码]

启动 MLEngine 作业并等待其达到最终状态。

参数
  • project_id (str) – 将在其中启动 MLEngine 作业的 Google Cloud 项目 ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。

  • job (dict) –

    应提供给 MLEngine API 的 MLEngine Job 对象,例如

    {
      'jobId': 'my_job_id',
      'trainingInput': {
        'scaleTier': 'STANDARD_1',
        ...
      }
    }
    

  • use_existing_job_fn (Callable | None) – 如果存在具有相同 job_id 的 MLEngine 作业,则此方法(如果提供)将决定是否应使用此现有作业,继续等待它完成并返回作业对象。它应该接受一个 MLEngine 作业对象,并返回一个布尔值,指示是否可以重用现有作业。如果未提供 'use_existing_job_fn',则默认情况下,我们将重用现有 MLEngine 作业。

返回

如果作业成功达到最终状态(可能是 FAILED 或 CANCELLED 状态),则为 MLEngine 作业对象。

返回类型

dict

create_job_without_waiting_result(body, project_id)[源代码]

启动 MLEngine 作业并等待其达到最终状态。

参数
  • project_id (str) – 将在其中启动 MLEngine 作业的 Google Cloud 项目 ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。

  • body (dict) –

    应提供给 MLEngine API 的 MLEngine Job 对象,例如

    {
      'jobId': 'my_job_id',
      'trainingInput': {
        'scaleTier': 'STANDARD_1',
        ...
      }
    }
    

返回

如果作业成功达到最终状态(可能是 FAILED 或 CANCELLED 状态),则为对象的 MLEngine job_id。

cancel_job(job_id, project_id)[源代码]

取消 MLEngine 作业。

参数
  • project_id (str) – 将取消 MLEngine 作业的 Google Cloud 项目 ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。

  • job_id (str) – 要取消的 Google MLEngine 训练作业的唯一 ID。

返回

如果成功取消,则为空字典

引发

googleapiclient.errors.HttpError

返回类型

dict

get_job(project_id, job_id)[源代码]

根据作业 ID 获取 MLEngine 作业。

参数
  • project_id (str) – 作业所在的项目的 ID。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。(已模板化)

  • job_id (str) – Google MLEngine 作业的唯一 ID。(已模板化)

返回

如果成功,则为 MLEngine 作业对象。

引发

googleapiclient.errors.HttpError

返回类型

dict

create_version(model_name, version_spec, project_id)[源代码]

在 Google Cloud ML Engine 上创建版本。

参数
  • version_spec (dict) – 包含有关版本的信息的字典。(已模板化)

  • model_name (str) – 该版本所属的 Google Cloud ML Engine 模型的名称。(已模板化)

  • project_id (str) – MLEngine 模型所属的 Google Cloud 项目名称。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。(已模板化)

返回

如果版本创建成功,则返回操作。否则引发错误。

返回类型

dict

set_default_version(model_name, version_name, project_id)[源代码]

将版本设置为默认版本。阻塞直到完成。

参数
  • model_name (str) – 该版本所属的 Google Cloud ML Engine 模型的名称。(已模板化)

  • version_name (str) – 用于正在操作的版本的名称。(已模板化)

  • project_id (str) – MLEngine 模型所属的 Google Cloud 项目名称。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。(已模板化)

返回

如果成功,则返回 Version 的实例。否则引发错误。

引发

googleapiclient.errors.HttpError

返回类型

dict

list_versions(model_name, project_id)[源代码]

列出模型的所有可用版本。阻塞直到完成。

参数
  • model_name (str) – 该版本所属的 Google Cloud ML Engine 模型的名称。(已模板化)

  • project_id (str) – MLEngine 模型所属的 Google Cloud 项目名称。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。(已模板化)

返回

返回 Version 实例的列表。

引发

googleapiclient.errors.HttpError

返回类型

list[dict]

delete_version(model_name, version_name, project_id)[源代码]

删除模型的给定版本。阻塞直到完成。

参数
  • model_name (str) – 该版本所属的 Google Cloud ML Engine 模型的名称。(已模板化)

  • project_id (str) – MLEngine 模型所属的 Google Cloud 项目名称。

  • version_name (str) – 用于正在操作的版本的名称。(已模板化)

返回

如果版本删除成功,则返回操作。否则引发错误。

返回类型

dict

create_model(model, project_id)[源代码]

创建一个模型。阻塞直到完成。

参数
  • model (dict) – 一个包含模型信息的字典。

  • project_id (str) – MLEngine 模型所属的 Google Cloud 项目名称。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。(已模板化)

返回

如果版本创建成功,则返回 Model 的实例。否则会引发错误。

引发

googleapiclient.errors.HttpError

返回类型

dict

get_model(model_name, project_id)[源代码]

获取一个模型。阻塞直到完成。

参数
  • model_name (str) – 模型的名称。

  • project_id (str) – MLEngine 模型所属的 Google Cloud 项目名称。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。(已模板化)

返回

如果模型存在,则返回 Model 的实例。否则返回 None。

引发

googleapiclient.errors.HttpError

返回类型

dict | None

delete_model(model_name, project_id, delete_contents=False)[源代码]

删除一个模型。阻塞直到完成。

参数
  • model_name (str) – 模型的名称。

  • delete_contents (bool) – 是否强制删除,即使模型不为空。如果设置为 True,将删除数据集中的所有版本(如果有)。默认值为 False。

  • project_id (str) – MLEngine 模型所属的 Google Cloud 项目名称。如果设置为 None 或缺失,则使用 Google Cloud 连接中的默认 project_id。(已模板化)

引发

googleapiclient.errors.HttpError

class airflow.providers.google.cloud.hooks.mlengine.MLEngineAsyncHook(**kwargs)[源代码]

基类:airflow.providers.google.common.hooks.base_google.GoogleBaseAsyncHook

用于获取 MLEngine 异步 Hook 的类。

sync_hook_class[源代码]
scopes = ['https://www.googleapis.com/auth/cloud-platform'][源代码]
async get_job(job_id, session, project_id=PROVIDE_PROJECT_ID)[源代码]

根据作业 ID 和项目 ID 获取指定的作业资源。

async get_job_status(job_id, project_id=PROVIDE_PROJECT_ID)[源代码]

使用 gcloud-aio 异步轮询作业状态。

请注意,当作业结果仍在等待时,会引发 OSError。异常表示作业已完成但存在错误。

这个条目有帮助吗?