モデルのメタデータを更新する
このページでは、BigQuery ML モデルのメタデータの更新方法を紹介します。次の方法で、モデル メタデータを更新できます。
- Google Cloud コンソールを使用する。
- bq コマンドライン ツールの
bq update
コマンドを使用する models.patch
API メソッドを、直接またはクライアント ライブラリを使用して呼び出す。
モデル メタデータとして次のものが更新できます。
- 説明: Google Cloud コンソール、bq コマンドライン ツール、API、またはクライアント ライブラリを使用して更新できます。
- ラベル: Google Cloud コンソール、bq コマンドライン ツール、API、またはクライアント ライブラリを使用して更新できます。
- 有効期限: bq ツール、API、クライアント ライブラリを使用して更新できます。
必要な権限
モデル メタデータを更新するには、データセットに対する WRITER
ロールが割り当てられているか、bigquery.models.updateMetadata
権限を含むプロジェクト レベルの Identity and Access Management(IAM)ロールが割り当てられている必要があります。プロジェクト レベルで bigquery.models.updateMetadata
権限が付与されている場合は、プロジェクト内の任意のデータセット内のモデルのメタデータを更新できます。プロジェクト レベルの次の IAM 事前定義ロールには bigquery.models.updateMetadata
権限が含まれています。
bigquery.dataEditor
bigquery.dataOwner
bigquery.admin
BigQuery ML での IAM ロールと権限の詳細については、アクセス制御をご覧ください。
モデルの説明を更新する
モデルの説明は、モデルを識別するために使われるテキスト文字列です。
モデルの説明を更新する手順は以下のとおりです。
Console
Google Cloud コンソールで [BigQuery] ページに移動します。
[エクスプローラ] ペインでプロジェクトを開き、データセットを開きます。
データセットの [モデル] フォルダを開き、モデル名をクリックしてモデルを選択します。
[詳細] タブをクリックします。
モデルの説明を更新するには、[編集]
をクリックします。[詳細を編集] ダイアログで説明を更新し、[保存] をクリックします。
bq
モデルの説明を更新するには、--model
または -m
フラグと --description
フラグを指定して bq update
コマンドを実行します。
更新するモデルがデフォルト プロジェクト以外のプロジェクトにある場合は、[PROJECT_ID]:[DATASET]
の形式でプロジェクト ID をデータセットに追加します。
bq update --model --description "[STRING]" PROJECT_ID:DATASET.MODEL
次のように置き換えます。
STRING
は、モデルを引用符で囲んで記述したテキスト文字列です。PROJECT_ID
はプロジェクト ID です。DATASET
はデータセットの名前です。MODEL
はモデルの名前です。
コマンド出力は、次のようになります。
Model 'myproject.mydataset.mymodel' successfully updated.
bq show
コマンドを実行して、変更を確認できます。詳細については、モデル メタデータの取得をご覧ください。
例:
デフォルト プロジェクトの mydataset
内にある mymodel
の説明を更新するには、次のコマンドを入力します。
bq update --model --description "My updated description" \
mydataset.mymodel
myotherproject
の mydataset
内にある mymodel
の説明を更新するには、次のコマンドを入力します。
bq update --model --description "My updated description" \
myotherproject:mydataset.mymodel
API
API を使用してモデルの説明を更新するには、models.patch
メソッドを呼び出し、projectId
、datasetId
、modelId
を指定します。説明を変更するには、モデルリソースの description プロパティを追加または更新します。
Go
このサンプルを試す前に、クライアント ライブラリを使用した BigQuery クイックスタートにある Go の設定手順を完了してください。詳細については、BigQuery Go API のリファレンス ドキュメントをご覧ください。
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Java
このサンプルを試す前に、クライアント ライブラリを使用した BigQuery クイックスタートにある Java の設定手順を完了してください。詳細については、BigQuery Java API のリファレンス ドキュメントをご覧ください。
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Node.js
このサンプルを試す前に、クライアント ライブラリを使用した BigQuery クイックスタートにある Node.js の設定手順を完了してください。詳細については、BigQuery Node.js API のリファレンス ドキュメントをご覧ください。
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
Python
このサンプルを試す前に、クライアント ライブラリを使用した BigQuery クイックスタートにある Python の設定手順を完了してください。詳細については、BigQuery Python API のリファレンス ドキュメントをご覧ください。
BigQuery に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。詳細については、クライアント ライブラリの認証情報を設定するをご覧ください。
モデルのラベルを更新する
ラベルは、リソースに添付可能な Key-Value ペアです。BigQuery ML のリソースを作成する際には、ラベルは必須ではありません。詳細については、ラベルの追加と使用をご覧ください。
モデルのラベルを更新する手順は以下のとおりです。
Console
[エクスプローラ] ペインでプロジェクトを開き、データセットを開きます。
データセットの [モデル] フォルダを開き、モデル名をクリックしてモデルを選択します。
[詳細] タブをクリックします。
モデルのラベルを更新するには、[編集]
をクリックします。[詳細を編集] ダイアログで、ラベルを追加、削除、変更して、[保存] をクリックします。
bq
モデルのラベルを更新するには、--model
または -m
フラグと --set_label
フラグを指定して bq update
コマンドを実行します。複数のラベルを追加または更新するには、--set_label
フラグを繰り返し指定します。
更新するモデルがデフォルト プロジェクト以外のプロジェクトにある場合は、[PROJECT_ID]:[DATASET]
の形式でプロジェクト ID をデータセットに追加します。
bq update --model --set_label KEY:VALUE \ PROJECT_ID:DATASET.MODEL
次のように置き換えます。
KEY:VALUE
は、追加または更新するラベルの Key-Value ペアに対応します。既存のラベルと同じキーを指定した場合は、その既存ラベルの値が更新されます。キーは一意でなければなりません。PROJECT_ID
はプロジェクト ID です。DATASET
はデータセットの名前です。MODEL
はモデルの名前です。
コマンド出力は、次のようになります。
Model 'myproject.mydataset.mymodel' successfully updated.
bq show
コマンドを実行して、変更を確認できます。詳細については、モデル メタデータの取得をご覧ください。
例:
mymodel
の department
ラベルを更新するには、bq update
コマンドを入力し、ラベルキーとして department
を指定します。たとえば、department:shipping
ラベルを department:logistics
に更新するには、次のコマンドを入力します。mydataset
はデフォルト プロジェクトではなく myotherproject
にあります。
bq update --model --set_label department:logistics \
myotherproject:mydataset.mymodel
API
API を使用してモデルのラベルを更新するには、models.patch
メソッドを呼び出し、projectId
、datasetId
、modelId
を指定します。ラベルを変更するには、モデルリソースの labels プロパティを追加または更新します。
モデルの有効期限を更新する
モデルの有効期限は、いつモデルが削除されるかを示すタイムスタンプ値です。モデルの有効期限を設定するには、モデルを作成する際に、CLI、API、クライアント ライブラリを使用します。モデルの作成後にも、有効期限を設定または更新できます。モデルの有効期限は、多くの場合 TTL(time to live)と呼ばれます。
モデルに有効期限を設定しないと、モデルは期限切れにならないため、手動で削除する必要があります。
有効期限の値は、値の設定場所によって異なります。適切な粒度の方法を使用してください。
- コマンドライン ツールでは、有効期限は現在の UTC 時間からの秒数で表示されます。コマンドラインで有効期限を指定すると、整数値が秒単位で現在の UTC タイムスタンプに追加されます。
- API では、有効期限はエポックからのミリ秒単位で表されます。現在のタイムスタンプに満たない値を有効期限に指定すると、モデルは直ちに期限切れになります。
次の方法で、モデルの有効期限を更新できます。
Console
Google Cloud コンソールでは、モデルの有効期限の設定や更新はできません。
bq
モデルの有効期限を更新するには、--model
フラグまたは -m
フラグと --expiration
フラグを指定して bq update
コマンドを実行します。
更新するモデルがデフォルト プロジェクト以外のプロジェクトにある場合は、[PROJECT_ID]:[DATASET]
の形式でプロジェクト ID をデータセットに追加します。
bq update --model --expiration INTEGER \ PROJECT_ID:DATASET.MODEL
次のように置き換えます。
INTEGER
はモデルの存続期間(秒単位)です。最小値は 3,600 秒(1 時間)です。現在の UTC 時間にこの整数値を足した値が、有効期限になります。PROJECT_ID
はプロジェクト ID です。DATASET
はデータセットの名前です。MODEL
はモデルの名前です。
コマンド出力は、次のようになります。
Model 'myproject.mydataset.mymodel' successfully updated.
bq show
コマンドを実行して、変更を確認できます。詳細については、モデル メタデータの取得をご覧ください。
例:
次のコマンドを入力して、mydataset
内の mymodel
のパーティションの有効期限を 5 日間(432,000 秒)に更新します。mydataset
はデフォルト プロジェクトにあります。
bq update --model --expiration 432000 mydataset.mymodel
次のコマンドを入力して、mydataset
内の mymodel
のパーティションの有効期限を 5 日間(432,000 秒)に更新します。mydataset
はデフォルト プロジェクトではなく myotherproject
にあります。
bq update --model --expiration 432000 myotherproject:mydataset.mymodel
API
API を使用してモデルの有効期限を更新するには、models.patch
メソッドを呼び出し、projectId
、datasetId
、modelId
を指定します。有効期限を変更するには、モデルリソースの expirationTime プロパティを追加または更新します。expirationTime プロパティは、エポックからのミリ秒単位で表されます。
次のステップ
- BigQuery ML の概要で BigQuery ML の概要を確認する。
- BigQuery ML の使用を開始するには、BigQuery ML で機械学習モデルを作成するをご覧ください。
- モデルを使った作業の詳細を確認するには、以下をご覧ください。