- コマンドの実行方法 まず、以下のコマンドを使用して「bq show」を実行します。
bq show --format prettyjson [プロジェクト名]:[データセット名].[テーブル名]
このコマンドは、指定したプロジェクト、データセット、テーブルの情報を表示します。"--format prettyjson"オプションを指定することで、情報が見やすい形式で表示されます。
例えば、以下のような出力結果があった場合を考えます。
{
"kind": "bigquery#table",
"etag": "abcdefg",
"id": "project-name:dataset-name.table-name",
"selfLink": "https://www.googleapis.com/bigquery/v2/projects/project-name/datasets/dataset-name/tables/table-name",
"description": "This is a sample table.",
"creationTime": "2023-01-01T00:00:00Z",
"lastModifiedTime": "2023-02-01T12:34:56Z",
"numBytes": "1234567890",
"numRows": "1000000",
"schema": {
"fields": [
{
"name": "column1",
"type": "STRING",
"mode": "NULLABLE"
},
{
"name": "column2",
"type": "INTEGER",
"mode": "NULLABLE"
},
{
"name": "column3",
"type": "FLOAT",
"mode": "NULLABLE"
}
]
}
}
この出力結果から、以下のような情報を取得することができます。
- プロジェクト名: "project-name"
- データセット名: "dataset-name"
- テーブル名: "table-name"
- テーブルの説明: "This is a sample table."
- テーブルの作成日時: "2023-01-01T00:00:00Z"
- テーブルの最終更新日時: "2023-02-01T12:34:56Z"
- テーブルのサイズ(バイト数): "1234567890"
- テーブルの行数: "1000000"
- スキーマ情報: "column1" (STRING), "column2" (INTEGER), "column3" (FLOAT)
- コード例 以下は、Pythonを使用して「bq show」コマンドの出力結果を解析する例です。
import json
output = '''
{
"kind": "bigquery#table",
"etag": "abcdefg",
"id": "project-name:dataset-name.table-name",
"selfLink": "https://www.googleapis.com/bigquery/v2/projects/project-name/datasets/dataset-name/tables/table-name",
"description": "This is a sample table.",
"creationTime": "2023-01-01T00:00:00Z",
"lastModifiedTime": "2023-02-01T12:34:56Z",
"numBytes": "1234567890",
"numRows": "1000000",
"schema": {
"fields": [
{
"name": "column1",
"type": "STRING",
"mode": "NULLABLE"
},
{
"name": "column2",
"type": "INTEGER",
"mode": "NULLABLE"
},
{
"name": "column3",
"type": "FLOAT",
"mode": "NULLABLE"
}
]
}
}
'''
data = json.loads(output)
project_name, dataset_name, table_name =data["id"].split(":")
table_description = data["description"]
creation_time = data["creationTime"]
last_modified_time = data["lastModifiedTime"]
table_size = data["numBytes"]
row_count = data["numRows"]
schema = data["schema"]["fields"]
column_names = [field["name"] for field in schema]
column_types = [field["type"] for field in schema]
print("プロジェクト名:", project_name)
print("データセット名:", dataset_name)
print("テーブル名:", table_name)
print("テーブルの説明:", table_description)
print("テーブルの作成日時:", creation_time)
print("テーブルの最終更新日時:", last_modified_time)
print("テーブルのサイズ(バイト数):", table_size)
print("テーブルの行数:", row_count)
print("スキーマ情報:")
for i in range(len(column_names)):
print(column_names[i], "(", column_types[i], ")")
以上が、「bq show」コマンドを使用してJSONを見やすく表示する方法についての解説とコード例です。