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。異常表示作業完成時出現錯誤