BigQuery クライアント ライブラリを使用して一般公開データセットに対してクエリを実行する
BigQuery クライアント ライブラリを使用して一般公開データセットに対してクエリを実行する方法を学習します。
このタスクを Google Cloud コンソールで直接行う際の順を追ったガイダンスについては、目的のプログラミング言語を選択します。
C# ツアーを見る Go ツアーを見る Java ツアーを見る Node.js ツアーを見る
PHP ツアーを見る Python ツアーを見る Ruby ツアーを見る
始める前に
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
BigQuery サンドボックスを料金なしで使用するか、Google Cloud プロジェクトの課金を有効にするかを選択します。
プロジェクトの課金を有効にしない場合は、BigQuery サンドボックス内で作業を行う状態に自動的に設定されます。BigQuery サンドボックスを使用すると、料金なしで一部の BigQuery 機能をで使用して、BigQuery を試すことができます。このドキュメントの対象範囲を超えてプロジェクトを使用する予定がない場合は、BigQuery サンドボックスを使用することをおすすめします。
-
Enable the BigQuery API.
新しいプロジェクトでは、BigQuery API が自動的に有効になります。
-
In the Google Cloud console, activate Cloud Shell.
Cloud Shell で Google Cloud プロジェクトを有効にします。
gcloud config set project PROJECT_ID
PROJECT_ID は、このチュートリアルで選択したプロジェクトに置き換えます。
出力は次のようになります。
Updated property [core/project].
一般公開データセットに対してクエリを実行する
次のいずれかの言語を選択します。
C#
Cloud Shell で、新しい C# プロジェクトとファイルを作成します。
dotnet new console -n BigQueryCsharpDemo
出力は次のようになります。出力を簡略化するためにいくつかの行を省略しています。
Welcome to .NET 6.0! --------------------- SDK Version: 6.0.407 ... The template "Console App" was created successfully. ...
このコマンドにより、
BigQueryCsharpDemo
という名前の C# プロジェクトとProgram.cs
という名前のファイルが作成されます。Cloud Shell エディタを開きます。
cloudshell workspace BigQueryCsharpDemo
Cloud Shell エディタでターミナルを開くには、[ターミナル] > [New Terminal] をクリックします。
C# 用の BigQuery クライアント ライブラリをインストールします。
dotnet add package Google.Cloud.BigQuery.V2
出力は次のようになります。出力を簡略化するためにいくつかの行を省略しています。
Determining projects to restore... Writing /tmp/tmpF7EKSd.tmp ... info : Writing assets file to disk. ...
変数
GOOGLE_PROJECT_ID
を値GOOGLE_CLOUD_PROJECT
に設定し、変数をエクスポートします。export GOOGLE_PROJECT_ID=$GOOGLE_CLOUD_PROJECT
[エクスプローラ] ペインで
BIGQUERYCSHARPDEMO
プロジェクトを探します。Program.cs
ファイルをクリックして開きます。Stack Overflow で閲覧回数が上位 10 件のページとそれらのページの閲覧数を返すクエリを
bigquery-public-data.stackoverflow
データセットに対して作成するには、ファイルの内容を次のコードに置き換えます。ターミナルで
Program.cs
スクリプトを実行します。Cloud Shell を承認するように求めるプロンプトが表示され、利用規約に同意する場合は、[承認] をクリックします。dotnet run
次のような結果になります。
Query Results: ------------ https://stackoverflow.com/questions/35159967: 170023 views https://stackoverflow.com/questions/22879669: 142581 views https://stackoverflow.com/questions/10604135: 132406 views https://stackoverflow.com/questions/44564887: 128781 views https://stackoverflow.com/questions/27060396: 127008 views https://stackoverflow.com/questions/12482637: 120766 views https://stackoverflow.com/questions/20673986: 115720 views https://stackoverflow.com/questions/39109817: 108368 views https://stackoverflow.com/questions/11057219: 105175 views https://stackoverflow.com/questions/43195143: 101878 views
BigQuery C# クライアント ライブラリを使用した一般公開データセットに対するクエリが完了しました。
Go
Cloud Shell で、新しい Go プロジェクトとファイルを作成します。
mkdir bigquery-go-quickstart \ && touch \ bigquery-go-quickstart/app.go
このコマンドにより、
bigquery-go-quickstart
という名前の Go プロジェクトとapp.go
という名前のファイルが作成されます。Cloud Shell エディタを開きます。
cloudshell workspace bigquery-go-quickstart
Cloud Shell エディタでターミナルを開くには、[ターミナル] > [New Terminal] をクリックします。
go.mod
ファイルを作成します。go mod init quickstart
出力は次のようになります。
go: creating new go.mod: module quickstart go: to add module requirements and sums: go mod tidy
Go 用の BigQuery クライアント ライブラリをインストールします。
go get cloud.google.com/go/bigquery
出力は次のようになります。出力を簡略化するためにいくつかの行を省略しています。
go: downloading cloud.google.com/go/bigquery v1.49.0 go: downloading cloud.google.com/go v0.110.0 ... go: added cloud.google.com/go/bigquery v1.49.0 go: added cloud.google.com/go v0.110.0
[エクスプローラ] ペインで
BIGQUERY-GO-QUICKSTART
プロジェクトを探します。app.go
ファイルをクリックして開きます。Stack Overflow で閲覧回数が上位 10 件のページとそれらのページの閲覧数を返すクエリを
bigquery-public-data.stackoverflow
データセットに対して作成するには、次のコードをapp.go
ファイルにコピーします。ターミナルで
app.go
スクリプトを実行します。Cloud Shell を承認するように求めるプロンプトが表示され、利用規約に同意する場合は、[承認] をクリックします。go run app.go
次のような結果になります。
https://stackoverflow.com/questions/35159967 : 170023 views https://stackoverflow.com/questions/22879669 : 142581 views https://stackoverflow.com/questions/10604135 : 132406 views https://stackoverflow.com/questions/44564887 : 128781 views https://stackoverflow.com/questions/27060396 : 127008 views https://stackoverflow.com/questions/12482637 : 120766 views https://stackoverflow.com/questions/20673986 : 115720 views https://stackoverflow.com/questions/39109817 : 108368 views https://stackoverflow.com/questions/11057219 : 105175 views https://stackoverflow.com/questions/43195143 : 101878 views
BigQuery Go クライアント ライブラリを使用した一般公開データセットに対するクエリが完了しました。
Java
Cloud Shell で、Apache Maven を使用して新しい Java プロジェクトを作成します。
mvn archetype:generate \ -DgroupId=com.google.app \ -DartifactId=bigquery-java-quickstart \ -DinteractiveMode=false
このコマンドを実行すると、
bigquery-java-quickstart
という名前の Maven プロジェクトが作成されます。出力は次のようになります。出力を簡略化するためにいくつかの行を省略しています。
[INFO] Scanning for projects... ... [INFO] Building Maven Stub Project (No POM) 1 ... [INFO] BUILD SUCCESS ...
Maven 以外にも、多くの依存関係管理システムを使用できます。詳細については、クライアント ライブラリで使用する Java 開発環境の設定方法をご覧ください。
Maven がデフォルトで作成する
App.java
ファイルの名前を変更します。mv \ bigquery-java-quickstart/src/main/java/com/google/app/App.java \ bigquery-java-quickstart/src/main/java/com/google/app/SimpleApp.java
Cloud Shell エディタを開きます。
cloudshell workspace bigquery-java-quickstart
Java クラスパスまたは構成を同期するかどうかを確認するプロンプトが表示されたら、[Always] をクリックします。
このチュートリアルでプロンプトが表示されず、クラスパスに関連するエラーが発生した場合は、次の操作を行います。
- [ファイル] > [設定] > [設定を開く](UI)をクリックします。
- [拡張機能] > [Java] をクリックします。
- [Configuration: Update Build Configuration] までスクロールし、[automatic] を選択します。
[エクスプローラ] ペインで
BIGQUERY-JAVA-QUICKSTART
プロジェクトを探します。pom.xml
ファイルをクリックして開きます。<dependencies>
タグ内で、既存の依存関係の後に次の依存関係を追加します。既存の依存関係を置き換えないでください。<dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-bigquery</artifactId> </dependency>
終了タグ(
</dependencies>
)の後の行に、次のコードを追加します。<dependencyManagement> <dependencies> <dependency> <groupId>com.google.cloud</groupId> <artifactId>libraries-bom</artifactId> <version>26.1.5</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement>
[エクスプローラ] ペインの
BIGQUERY-JAVA-QUICKSTART
プロジェクトで src > main/java/com/google/app > SimpleApp.java をクリックします。 ファイルが開きます。bigquery-public-data.stackoverflow
データセットに対するクエリを作成するには、ファイルの最初の行(package com.google.app;
)を残し、ファイルの残りの内容を次のコードに置き換えます。このクエリは、Stack Overflow で閲覧回数が上位 10 件のページとその閲覧数を返します。
[SimpleApp.java] を右クリックして、[Run Java] をクリックします。Cloud Shell を承認するように求めるプロンプトが表示され、利用規約に同意する場合は、[承認] をクリックします。
次のような結果になります。
https://stackoverflow.com/questions/35159967 : 170023 views https://stackoverflow.com/questions/22879669 : 142581 views https://stackoverflow.com/questions/10604135 : 132406 views https://stackoverflow.com/questions/44564887 : 128781 views https://stackoverflow.com/questions/27060396 : 127008 views https://stackoverflow.com/questions/12482637 : 120766 views https://stackoverflow.com/questions/20673986 : 115720 views https://stackoverflow.com/questions/39109817 : 108368 views https://stackoverflow.com/questions/11057219 : 105175 views https://stackoverflow.com/questions/43195143 : 101878 views
BigQuery Java クライアント ライブラリを使用した一般公開データセットに対するクエリが完了しました。
Node.js
Cloud Shell で新しい Node.js プロジェクトとファイルを作成します。
mkdir bigquery-node-quickstart \ && touch \ bigquery-node-quickstart/app.js
このコマンドにより、
bigquery-node-quickstart
という名前の Node.js プロジェクトとapp.js
という名前のファイルを作成します。Cloud Shell エディタを開きます。
cloudshell workspace bigquery-node-quickstart
Cloud Shell エディタでターミナルを開くには、[ターミナル] > [New Terminal] をクリックします。
Node.js 用の BigQuery クライアント ライブラリをインストールします。
npm install --save @google-cloud/bigquery
出力は次のようになります。
added 63 packages in 2s
[エクスプローラ] ペインで
BIGQUERY-NODE-QUICKSTART
プロジェクトを探します。app.js
ファイルをクリックして開きます。Stack Overflow で閲覧回数が上位 10 件のページとそれらのページの閲覧数を返すクエリを
bigquery-public-data.stackoverflow
データセットに対して作成するには、次のコードをapp.js
ファイルにコピーします。ターミナルで
app.js
スクリプトを実行します。Cloud Shell を承認するように求めるプロンプトが表示され、利用規約に同意する場合は、[承認] をクリックします。node app.js
次のような結果になります。
Query Results: url: https://stackoverflow.com/questions/35159967, 170023 views url: https://stackoverflow.com/questions/22879669, 142581 views url: https://stackoverflow.com/questions/10604135, 132406 views url: https://stackoverflow.com/questions/44564887, 128781 views url: https://stackoverflow.com/questions/27060396, 127008 views url: https://stackoverflow.com/questions/12482637, 120766 views url: https://stackoverflow.com/questions/20673986, 115720 views url: https://stackoverflow.com/questions/39109817, 108368 views url: https://stackoverflow.com/questions/11057219, 105175 views url: https://stackoverflow.com/questions/43195143, 101878 views
BigQuery Node.js クライアント ライブラリを使用した一般公開データセットに対するクエリが完了しました。
PHP
Cloud Shell で、新しい PHP プロジェクトとファイルを作成します。
mkdir bigquery-php-quickstart \ && touch \ bigquery-php-quickstart/app.php
このコマンドにより、
bigquery-php-quickstart
という名前の PHP プロジェクトとapp.php
という名前のファイルが作成されます。Cloud Shell エディタを開きます。
cloudshell workspace bigquery-php-quickstart
Cloud Shell エディタでターミナルを開くには、[ターミナル] > [New Terminal] をクリックします。
PHP 用の BigQuery クライアント ライブラリをインストールします。
composer require google/cloud-bigquery
出力は次のようになります。出力を簡略化するためにいくつかの行を省略しています。
Running composer update google/cloud-bigquery Loading composer repositories with package information Updating dependencies ... No security vulnerability advisories found Using version ^1.24 for google/cloud-bigquery
[エクスプローラ] ペインで
BIGQUERY-PHP-QUICKSTART
プロジェクトを探します。app.php
ファイルをクリックして開きます。Stack Overflow で閲覧回数が上位 10 件のページとそれらのページの閲覧数を返すクエリを
bigquery-public-data.stackoverflow
データセットに対して作成するには、次のコードをapp.php
ファイルにコピーします。ターミナルで
app.php
スクリプトを実行します。Cloud Shell を承認するように求めるプロンプトが表示され、利用規約に同意する場合は、[承認] をクリックします。php app.php
次のような結果になります。
--- Row 1 --- url: https://stackoverflow.com/questions/35159967, 170023 views --- Row 2 --- url: https://stackoverflow.com/questions/22879669, 142581 views --- Row 3 --- url: https://stackoverflow.com/questions/10604135, 132406 views --- Row 4 --- url: https://stackoverflow.com/questions/44564887, 128781 views --- Row 5 --- url: https://stackoverflow.com/questions/27060396, 127008 views --- Row 6 --- url: https://stackoverflow.com/questions/12482637, 120766 views --- Row 7 --- url: https://stackoverflow.com/questions/20673986, 115720 views --- Row 8 --- url: https://stackoverflow.com/questions/39109817, 108368 views --- Row 9 --- url: https://stackoverflow.com/questions/11057219, 105175 views --- Row 10 --- url: https://stackoverflow.com/questions/43195143, 101878 views Found 10 row(s)
BigQuery PHP クライアント ライブラリを使用した一般公開データセットに対するクエリが完了しました。
Python
Cloud Shell で、新しい Python プロジェクトとファイルを作成します。
mkdir bigquery-python-quickstart \ && touch \ bigquery-python-quickstart/app.py
このコマンドにより、
bigquery-python-quickstart
という名前の Python プロジェクトとapp.py
という名前のファイルが作成されます。Cloud Shell エディタを開きます。
cloudshell workspace bigquery-python-quickstart
Cloud Shell エディタでターミナルを開くには、[ターミナル] > [New Terminal] をクリックします。
Python 用の BigQuery クライアント ライブラリをインストールします。
pip install --upgrade google-cloud-bigquery
出力は次のようになります。出力を簡略化するためにいくつかの行を省略しています。
Installing collected packages: google-cloud-bigquery ... Successfully installed google-cloud-bigquery-3.9.0 ...
[エクスプローラ] ペインで
BIGQUERY-PYTHON-QUICKSTART
プロジェクトを探します。app.py
ファイルをクリックして開きます。Stack Overflow で閲覧回数が上位 10 件のページとそれらのページの閲覧数を返すクエリを
bigquery-public-data.stackoverflow
データセットに対して作成するには、次のコードをapp.py
ファイルにコピーします。ターミナルで
app.py
スクリプトを実行します。Cloud Shell を承認するように求めるプロンプトが表示され、利用規約に同意する場合は、[承認] をクリックします。python app.py
次のような結果になります。
https://stackoverflow.com/questions/35159967 : 170023 views https://stackoverflow.com/questions/22879669 : 142581 views https://stackoverflow.com/questions/10604135 : 132406 views https://stackoverflow.com/questions/44564887 : 128781 views https://stackoverflow.com/questions/27060396 : 127008 views https://stackoverflow.com/questions/12482637 : 120766 views https://stackoverflow.com/questions/20673986 : 115720 views https://stackoverflow.com/questions/39109817 : 108368 views https://stackoverflow.com/questions/11057219 : 105175 views https://stackoverflow.com/questions/43195143 : 101878 views
BigQuery Python クライアント ライブラリを使用した一般公開データセットに対するクエリが正常に完了しました。
Ruby
Cloud Shell で、新しい Ruby プロジェクトとファイルを作成します。
mkdir bigquery-ruby-quickstart \ && touch \ bigquery-ruby-quickstart/app.rb
このコマンドにより、
bigquery-ruby-quickstart
という名前の Ruby プロジェクトとapp.rb
という名前のファイルが作成されます。Cloud Shell エディタを開きます。
cloudshell workspace bigquery-ruby-quickstart
Cloud Shell エディタでターミナルを開くには、[ターミナル] > [New Terminal] をクリックします。
Ruby 用の BigQuery クライアント ライブラリをインストールします。
gem install google-cloud-bigquery
出力は次のようになります。出力を簡略化するためにいくつかの行を省略しています。
23 gems installed
[エクスプローラ] ペインで
BIGQUERY-RUBY-QUICKSTART
プロジェクトを探します。app.rb
ファイルをクリックして開きます。Stack Overflow で閲覧回数が上位 10 件のページとそれらのページの閲覧数を返すクエリを
bigquery-public-data.stackoverflow
データセットに対して作成するには、次のコードをapp.rb
ファイルにコピーします。ターミナルで
app.rb
スクリプトを実行します。Cloud Shell を承認するように求めるプロンプトが表示され、利用規約に同意する場合は、[承認] をクリックします。ruby app.rb
次のような結果になります。
https://stackoverflow.com/questions/35159967: 170023 views https://stackoverflow.com/questions/22879669: 142581 views https://stackoverflow.com/questions/10604135: 132406 views https://stackoverflow.com/questions/44564887: 128781 views https://stackoverflow.com/questions/27060396: 127008 views https://stackoverflow.com/questions/12482637: 120766 views https://stackoverflow.com/questions/20673986: 115720 views https://stackoverflow.com/questions/39109817: 108368 views https://stackoverflow.com/questions/11057219: 105175 views https://stackoverflow.com/questions/43195143: 101878 views
BigQuery Ruby クライアント ライブラリを使用した一般公開データセットに対するクエリが完了しました。
クリーンアップ
Google Cloud アカウントに課金されないようにするには、Google Cloud プロジェクトを削除するか、このチュートリアルで作成したリソースを削除します。
プロジェクトを削除する
課金をなくす最も簡単な方法は、チュートリアル用に作成したプロジェクトを削除することです。
プロジェクトを削除するには、次の操作を実行します。
- 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.
リソースを削除する
既存のプロジェクトを使用した場合は、作成したリソースを削除します。
C#
Cloud Shell でディレクトリを上に移動します。
cd ..
作成した
BigQueryCsharpDemo
フォルダを削除します。rm -R BigQueryCsharpDemo
-R
フラグを指定するとフォルダ内のすべてのアセットが削除されます。
Go
Cloud Shell でディレクトリを上に移動します。
cd ..
作成した
bigquery-go-quickstart
フォルダを削除します。rm -R bigquery-go-quickstart
-R
フラグを指定するとフォルダ内のすべてのアセットが削除されます。
Java
Cloud Shell でディレクトリを上に移動します。
cd ..
作成した
bigquery-java-quickstart
フォルダを削除します。rm -R bigquery-java-quickstart
-R
フラグを指定するとフォルダ内のすべてのアセットが削除されます。
Node.js
Cloud Shell でディレクトリを上に移動します。
cd ..
作成した
bigquery-node-quickstart
フォルダを削除します。rm -R bigquery-node-quickstart
-R
フラグを指定するとフォルダ内のすべてのアセットが削除されます。
PHP
Cloud Shell でディレクトリを上に移動します。
cd ..
作成した
bigquery-php-quickstart
フォルダを削除します。rm -R bigquery-php-quickstart
-R
フラグを指定するとフォルダ内のすべてのアセットが削除されます。
Python
Cloud Shell でディレクトリを上に移動します。
cd ..
作成した
bigquery-python-quickstart
フォルダを削除します。rm -R bigquery-python-quickstart
-R
フラグを指定するとフォルダ内のすべてのアセットが削除されます。
Ruby
Cloud Shell でディレクトリを上に移動します。
cd ..
作成した
bigquery-ruby-quickstart
フォルダを削除します。rm -R bigquery-ruby-quickstart
-R
フラグを指定するとフォルダ内のすべてのアセットが削除されます。
次のステップ
- BigQuery クライアント ライブラリの使用方法について学習する。
- BigQuery の一般公開データセットについて詳細を学習する。
- データを BigQuery に読み込む方法を確認する。
- BigQuery でのデータのクエリについて詳細を学習する。
- BigQuery に関する最新情報を確認する。
- BigQuery の料金を確認する。
- BigQuery の割り当てと上限について学習する。