bq ツールを使用して一般公開データセットにクエリを実行する
bq コマンドライン ツールを使用して一般公開データセットを調べてクエリを実行する方法を学習します。
このタスクを Google Cloud コンソールで直接行う際の順を追ったガイダンスについては、「ガイドを表示」をクリックしてください。
準備
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
BigQuery API が有効になっていることを確認します。
新しいプロジェクトを作成している場合は、BigQuery API が自動的に有効になっています。
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
このチュートリアルで使用する Google Cloud プロジェクトの課金を有効にしない場合は、BigQuery サンドボックスでデータを操作します。BigQuery サンドボックスを使用すると、一部の BigQuery 機能を無料で使用して、BigQuery を試すことができます。
一般公開データセットを調べる
BigQuery には、クエリで使用可能な bigquery-public-data.samples
データセットのサンプル テーブルがいくつか用意されています。このチュートリアルでは、shakespeare
テーブルに対してクエリを実行します。このテーブルには、シェイクスピア劇のすべての単語のエントリが含まれています。
samples
データセットの shakespeare
テーブルを調べます。
bq show bigquery-public-data:samples.shakespeare
出力は次のようになります。出力を簡素化するために、一部の列は省略されています。
Last modified Schema Total Rows Total Bytes
----------------- ------------------------------------ ------------ ------------
14 Mar 17:16:45 |- word: string (required) 164656 6432064
|- word_count: integer (required)
|- corpus: string (required)
|- corpus_date: integer (required)
一般公開データセットに対してクエリを実行する
bq query
コマンドを使用して、データに対して SQL クエリを実行します。
シェイクスピアの作品に出現する部分文字列
raisin
の回数を指定します。bq query --use_legacy_sql=false \ 'SELECT word, SUM(word_count) AS count FROM `bigquery-public-data.samples.shakespeare` WHERE word LIKE "%raisin%" GROUP BY word;'
出力は次のようになります。
+---------------+-------+ | word | count | +---------------+-------+ | praising | 8 | | Praising | 4 | | raising | 5 | | dispraising | 2 | | dispraisingly | 1 | | raisins | 1 | +---------------+-------+
シェイクスピアの作品で部分文字列
huzzah
を検索します。bq query --use_legacy_sql=false \ 'SELECT word FROM `bigquery-public-data.samples.shakespeare` WHERE word = "huzzah";'
この部分文字列はシェイクスピアの作品には出現しないため、結果は返されません。
クリーンアップ
このページで使用したリソースに対して Google Cloud アカウントで課金されないようにするには、Google Cloud プロジェクトとそのリソースを削除します。
プロジェクトを削除する
BigQuery サンドボックスを使用して一般公開データセットにクエリを実行した場合、プロジェクトに対する課金は有効になりません。課金をなくす最も簡単な方法は、チュートリアル用に作成したプロジェクトを削除することです。
プロジェクトを削除するには:
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
次のステップ
- bq ツールの使用の詳細を確認する。
- BigQuery サンドボックスについて学習する。
- BigQuery の一般公開データセットについて詳細を学習する。
- データを BigQuery に読み込む方法を確認する。
- BigQuery でのデータのクエリについて詳細を学習する。
- BigQuery に関する最新情報を確認する。
- BigQuery の料金を確認する。
- BigQuery の割り当てと上限について学習する。