airflow.providers.google.cloud.hooks.mlengine

此模組包含一個 Google ML Engine Hook。

屬性

log

MLEngineHook

用於 Google ML Engine API 的 Hook。

MLEngineAsyncHook

用於獲取 MLEngine 非同步 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 作業並等待其達到終端狀態。

引數:
  • 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)[source]

取消一個 MLEngine 作業。

引數:
  • project_id (str) – 要取消 MLEngine 作業的 Google Cloud 專案 ID。如果設定為 None 或缺失,則使用 Google Cloud 連線中的預設 project_id。

  • job_id (str) – 要取消的 Google MLEngine 訓練作業的唯一 ID。

返回值:

如果成功取消,返回空 dict

丟擲異常:

googleapiclient.errors.HttpError

返回型別:

dict

get_job(project_id, job_id)[source]

根據作業 ID 獲取一個 MLEngine 作業。

引數:
  • project_id (str) – 作業所在的 Google Cloud 專案。如果設定為 None 或缺失,則使用 Google Cloud 連線中的預設 project_id。(模板化)

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

返回值:

如果成功,返回 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]

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

引數:
  • 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)[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 (dict) – 包含模型資訊的字典。

  • project_id (str) – MLEngine 模型所屬的 Google Cloud 專案名稱。如果設定為 None 或缺失,則使用 Google Cloud 連線中的預設 project_id。(模板化)

返回值:

如果模型建立成功,則返回一個 Model 例項。否則丟擲錯誤。

丟擲異常:

googleapiclient.errors.HttpError

返回型別:

dict

get_model(model_name, project_id)[source]

獲取模型。阻塞直到完成。

引數:
  • 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)[source]

刪除模型。阻塞直到完成。

引數:
  • 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)[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。異常表示作業完成時出現錯誤

此條目有幫助嗎?