airflow.providers.google.cloud.hooks.mlengine
此模块包含一个 Google ML Engine Hook。
模块内容
-
airflow.providers.google.cloud.hooks.mlengine.log[source]
-
class airflow.providers.google.cloud.hooks.mlengine.MLEngineHook(gcp_conn_id='google_cloud_default', impersonation_chain=None, **kwargs)[source]
基类: airflow.providers.google.common.hooks.base_google.GoogleBaseHook
用于 Google ML Engine API 的 Hook。
Hook 中所有使用 project_id 的方法必须使用关键字参数调用,而不是位置参数。
-
get_conn()[source]
检索与 MLEngine 的连接。
- 返回值:
Google MLEngine 服务对象。
- 返回类型:
googleapiclient.discovery.Resource
-
create_job(job, project_id, use_existing_job_fn=None)[source]
启动一个 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)[source]
启动一个 MLEngine 作业并等待其达到终端状态。
- 参数:
-
- 返回值:
如果作业成功达到终端状态(可能是 FAILED 或 CANCELLED 状态),则返回对象的 MLEngine job_id。
-
cancel_job(job_id, project_id)[source]
取消一个 MLEngine 作业。
- 参数:
-
- 返回值:
如果成功取消,返回空 dict
- 抛出异常:
googleapiclient.errors.HttpError
- 返回类型:
dict
-
get_job(project_id, job_id)[source]
根据作业 ID 获取一个 MLEngine 作业。
- 参数:
-
- 返回值:
如果成功,返回 MLEngine 作业对象。
- 抛出异常:
googleapiclient.errors.HttpError
- 返回类型:
dict
-
create_version(model_name, version_spec, project_id)[source]
在 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)[source]
将某个版本设置为默认版本。阻塞直到完成。
- 参数:
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)[source]
列出模型所有可用版本。阻塞直到完成。
- 参数:
-
- 返回值:
返回一个 Version 实例列表。
- 抛出异常:
googleapiclient.errors.HttpError
- 返回类型:
list[dict]
-
delete_version(model_name, version_name, project_id)[source]
删除模型的给定版本。阻塞直到完成。
- 参数:
model_name (str) – 版本所属的 Google Cloud ML Engine 模型名称。(模板化)
project_id (str) – MLEngine 模型所属的 Google Cloud 项目名称。
version_name (str) – 用于操作的版本的名称。(模板化)
- 返回值:
如果版本删除成功,则返回操作对象。否则抛出错误。
- 返回类型:
dict
-
create_model(model, project_id)[source]
创建模型。阻塞直到完成。
- 参数:
-
- 返回值:
如果模型创建成功,则返回一个 Model 实例。否则抛出错误。
- 抛出异常:
googleapiclient.errors.HttpError
- 返回类型:
dict
-
get_model(model_name, project_id)[source]
获取模型。阻塞直到完成。
- 参数:
-
- 返回值:
如果模型存在,则返回一个 Model 实例。否则返回 None。
- 抛出异常:
googleapiclient.errors.HttpError
- 返回类型:
dict | None
-
delete_model(model_name, project_id, delete_contents=False)[source]
删除模型。阻塞直到完成。
- 参数:
-
- 抛出异常:
googleapiclient.errors.HttpError
-
class airflow.providers.google.cloud.hooks.mlengine.MLEngineAsyncHook(**kwargs)[source]
基类: airflow.providers.google.common.hooks.base_google.GoogleBaseAsyncHook
用于获取 MLEngine 异步 Hook 的类。
-
sync_hook_class[source]
-
scopes = ['https://www.googleapis.com/auth/cloud-platform'][source]
-
async get_job(job_id, session, project_id=PROVIDE_PROJECT_ID)[source]
通过作业 ID 和项目 ID 获取指定的作业资源。
-
async get_job_status(job_id, project_id=PROVIDE_PROJECT_ID)[source]
使用 gcloud-aio 异步轮询作业状态。
请注意,当作业结果仍在等待时,会抛出 OSError。异常表示作业完成时出现错误