ノートブックでクエリ結果を調べる


BigQuery の Colab Enterprise ノートブックを使用して、BigQuery のクエリ結果を調べることができます。

このチュートリアルでは、BigQuery 一般公開データセットのデータをクエリし、その結果をノートブックで確認します。

目標

  • BigQuery でクエリを作成して実行する。
  • ノートブックでクエリ結果を調べる。

費用

このチュートリアルでは、Trusted Cloud by S3NS 一般公開データセット プログラムを通じて提供されているデータセットを使用します。Google では、これらのデータセットの保存費用を負担しており、データへの公開アクセスを提供しています。データに対して実行するクエリに対して料金が発生します。詳細については、BigQuery の料金をご覧ください。

始める前に

  1. In the Trusted Cloud console, on the project selector page, select or create a Trusted Cloud project.

    Go to project selector

  2. Verify that billing is enabled for your Trusted Cloud project.

  3. Enable the BigQuery API.

    Enable the API

    新しいプロジェクトでは、BigQuery が自動的に有効になります。

コードアセットにデフォルトのリージョンを設定する

コードアセットを初めて作成する場合は、コードアセットのデフォルト リージョンを設定する必要があります。コードアセットのリージョンを作成後に変更することはできません。

BigQuery Studio のすべてのコードアセットは同じデフォルト リージョンを使用します。コードアセットのデフォルト リージョンを設定する手順は次のとおりです。

  1. [BigQuery] ページに移動します。

    [BigQuery] に移動

  2. [エクスプローラ] ペインで、コードアセットを有効にしたプロジェクトを見つけます。

  3. プロジェクトの横にある アクションを表示)をクリックし、[デフォルトのコード リージョンを変更] をクリックします。

  4. [リージョン] で、コードアセットに使用するリージョンを選択します。

  5. [選択] をクリックします。

利用可能なリージョンの一覧については、BigQuery Studio のロケーションをご覧ください。

必要な権限

ノートブックを作成して実行するには、次の Identity and Access Management(IAM)ロールが必要です。

ノートブックでクエリ結果を開く

SQL クエリを実行した後、ノートブックを使用してデータを調べることができます。この方法は、データを操作する前に BigQuery でデータを変更する場合や、テーブル内のフィールドのサブセットのみが必要な場合は便利です。

  1. Trusted Cloud コンソールで、[BigQuery] ページに移動します。

    [BigQuery] に移動

  2. [検索語句を入力] フィールドに「bigquery-public-data」と入力します。

    プロジェクトが表示されない場合は、検索フィールドに「bigquery」と入力し、[検索範囲をすべてのプロジェクトに広げます] をクリックして、既存のプロジェクトと一致する検索文字列を入力します。

  3. [bigquery-public-data] > [ml_datasets] > [penguins] の順に選択します。

  4. penguins テーブルで、 [アクションを表示] をクリックし、[クエリ] をクリックします。

  5. 生成されたクエリにフィールド選択用のアスタリスク(*)を追加して、次の例のようになります。

    SELECT * FROM `bigquery-public-data.ml_datasets.penguins` LIMIT 1000;
  6. [実行] をクリックします。

  7. [クエリ結果] セクションで、[データを探索] をクリックして、[Python ノートブックで探索] をクリックします。

ノートブックを使用できるように準備する

ランタイムに接続し、アプリケーションのデフォルト値を設定して、ノートブックを使用できるように準備します。

  1. ノートブックのヘッダーで [接続] をクリックして、デフォルトのランタイムに接続します。
  2. [設定] コードブロックで、 [セルを実行] をクリックします。

データを表示

  1. 次のようにして、penguins データを BigQuery の DataFrame に読み込み、結果を表示するには、[BigQuery ジョブから DataFrame として読み込まれた結果セット] セクションのコードブロックで [セルを実行] をクリックします。
  2. データの説明的な指標を取得するには、[describe() を使用して記述統計を表示] セクションのコードブロックで [セルを実行] をクリックします。
  3. 省略可: 他の Python 関数またはパッケージを使用して、データの探索と分析を行います。

次のコードサンプルは、bigframes.pandas を使用してデータを分析し、bigframes.ml を使用して BigQuery の DataFrame で penguins データから線形回帰モデルを作成します。

import bigframes.pandas as bpd

# Load data from BigQuery
query_or_table = "bigquery-public-data.ml_datasets.penguins"
bq_df = bpd.read_gbq(query_or_table)

# Inspect one of the columns (or series) of the DataFrame:
bq_df["body_mass_g"]

# Compute the mean of this series:
average_body_mass = bq_df["body_mass_g"].mean()
print(f"average_body_mass: {average_body_mass}")

# Find the heaviest species using the groupby operation to calculate the
# mean body_mass_g:
(
    bq_df["body_mass_g"]
    .groupby(by=bq_df["species"])
    .mean()
    .sort_values(ascending=False)
    .head(10)
)

# Create the Linear Regression model
from bigframes.ml.linear_model import LinearRegression

# Filter down to the data we want to analyze
adelie_data = bq_df[bq_df.species == "Adelie Penguin (Pygoscelis adeliae)"]

# Drop the columns we don't care about
adelie_data = adelie_data.drop(columns=["species"])

# Drop rows with nulls to get our training data
training_data = adelie_data.dropna()

# Pick feature columns and label column
X = training_data[
    [
        "island",
        "culmen_length_mm",
        "culmen_depth_mm",
        "flipper_length_mm",
        "sex",
    ]
]
y = training_data[["body_mass_g"]]

model = LinearRegression(fit_intercept=False)
model.fit(X, y)
model.score(X, y)

クリーンアップ

このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、リソースを含むプロジェクトを削除するか、プロジェクトを維持して個々のリソースを削除します。

課金をなくす最も簡単な方法は、このチュートリアル用に作成した Trusted Cloud プロジェクトを削除することです。

  1. In the Trusted Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

次のステップ