Overview
This page shows you how to get information or metadata about BigQuery ML models. You can get model metadata by:
- Using the Google Cloud console
- Using the
bq show
CLI command - Calling the
models.get
API method directly or by using the client libraries
Required permissions
To get model metadata, you must be assigned the
READER
role on the
dataset, or you must be assigned a project-level IAM role that
includes bigquery.models.getMetadata
permissions. If you are granted
bigquery.models.getMetadata
permissions at the project level, you can get
metadata on models in any dataset in the project. The following predefined,
project-level IAM roles include bigquery.models.getMetadata
permissions:
bigquery.dataViewer
bigquery.dataEditor
bigquery.dataOwner
bigquery.metadataViewer
bigquery.admin
For more information on IAM roles and permissions in BigQuery ML, see Access control. For more information on dataset-level roles, see Basic roles for datasets in the BigQuery documentation.
Getting model metadata
To get metadata about models:
Console
In the navigation panel, in the Resources section, expand your project and select a dataset.
Click the model name.
Below the query editor box, click Details. This page displays the model's metadata including the description, labels, details, and training options.
bq
Issue the bq show
command with the --model
or -m
flag to display
model metadata. The --format
flag can be used to control the output.
To see only the feature columns for your model, use the --schema
flag
with the --model
flag. When you use the --schema
flag, --format
must
be set to either json
or prettyjson
.
If you are getting information about a model in a project other than
your default project, add the project ID to the dataset in the following
format: [PROJECT_ID]:[DATASET]
.
bq show --model --format=prettyjson [PROJECT_ID]:[DATASET].[MODEL]
Where:
[PROJECT_ID]
is your project ID.[DATASET]
is the name of the dataset.[MODEL]
is the name of the model.
The command output looks like the following when the --format=pretty
flag is used. To see full details, use the --format=prettyjson
format. The
sample output shows metadata for a logistic regression model.
+--------------+---------------------+---------------------+---------------------------+--------+-----------------+-----------------+ | Id | Model Type | Feature Columns | Label Columns | Labels | Creation Time | Expiration Time | +--------------+---------------------+---------------------+---------------------------+--------+-----------------+-----------------+ | sample_model | LOGISTIC_REGRESSION | |- column1: string | |- label_column: int64 | | 03 May 23:14:42 | | | | | |- column2: bool | | | | | | | | |- column3: string | | | | | | | | |- column4: int64 | | | | | +--------------+---------------------+---------------------+---------------------------+--------+-----------------+-----------------+
Examples:
Enter the following command to display all information about mymodel
in
mydataset
. mydataset
is in your default project.
bq show --model --format=prettyjson mydataset.mymodel
Enter the following command to display all information about mymodel
in
mydataset
. mydataset
is in myotherproject
, not your default project.
bq show --model --format=prettyjson myotherproject:mydataset.mymodel
Enter the following command to display only the feature columns for
mymodel
in mydataset
. mydataset
is in myotherproject
, not your
default project.
bq show --model --schema --format=prettyjson \
myotherproject:mydataset.mymodel
API
To get model metadata by using the API, call the models.get
method and provide the projectId
, datasetId
, and modelId
.
Go
Java
Node.js
Python
What's next
- For an overview of BigQuery ML, see Introduction to BigQuery ML.
- To get started using BigQuery ML, see Getting started with BigQuery ML using the Google Cloud console.
- To learn more about working with models, see: