クイックスタート: クライアント ライブラリの使用
このページでは、任意のプログラミング言語で BigQuery API の使用を開始する方法を説明します。
始める前に
- Google Cloud アカウントにログインします。Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
-
BigQuery API を有効にします。
-
サービス アカウントを作成します。
-
Google Cloud コンソールで [サービス アカウントの作成] ページに移動します。
[サービス アカウントの作成] に移動 - プロジェクトを選択します。
-
[サービス アカウント名] フィールドに名前を入力します。Google Cloud コンソールでは、この名前に基づいて [サービス アカウント ID] フィールドに値が設定されます。
[サービス アカウントの説明] フィールドに説明を入力します。例:
Service account for quickstart
- [作成して続行] をクリックします。
-
プロジェクトへのアクセス権限を付与するには、サービス アカウントに次のロールを付与します。[プロジェクト] > [オーナー]
[ロールを選択] リストでロールを選択します。
ロールを追加するには、[
別のロールを追加] をクリックして各ロールを追加します。 - [続行] をクリックします。
-
[完了] をクリックして、サービス アカウントの作成を完了します。
ブラウザ ウィンドウは閉じないでください。次のステップでこれを使用します。
-
-
サービス アカウント キーを作成します。
- Google Cloud コンソールで、作成したサービス アカウントのメールアドレスをクリックします。
- [キー] をクリックします。
- [鍵を追加]、[新しい鍵を作成] の順にクリックします。
- [作成] をクリックします。JSON キーファイルがパソコンにダウンロードされます。
- [閉じる] をクリックします。
-
環境変数
GOOGLE_APPLICATION_CREDENTIALS
を、サービス アカウント キーが含まれる JSON ファイルのパスに設定します。 この変数は現在のシェル セッションにのみ適用されるため、新しいセッションを開く場合は、変数を再度設定します。 -
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
-
BigQuery API を有効にします。
-
サービス アカウントを作成します。
-
Google Cloud コンソールで [サービス アカウントの作成] ページに移動します。
[サービス アカウントの作成] に移動 - プロジェクトを選択します。
-
[サービス アカウント名] フィールドに名前を入力します。Google Cloud コンソールでは、この名前に基づいて [サービス アカウント ID] フィールドに値が設定されます。
[サービス アカウントの説明] フィールドに説明を入力します。例:
Service account for quickstart
- [作成して続行] をクリックします。
-
プロジェクトへのアクセス権限を付与するには、サービス アカウントに次のロールを付与します。[プロジェクト] > [オーナー]
[ロールを選択] リストでロールを選択します。
ロールを追加するには、[
別のロールを追加] をクリックして各ロールを追加します。 - [続行] をクリックします。
-
[完了] をクリックして、サービス アカウントの作成を完了します。
ブラウザ ウィンドウは閉じないでください。次のステップでこれを使用します。
-
-
サービス アカウント キーを作成します。
- Google Cloud コンソールで、作成したサービス アカウントのメールアドレスをクリックします。
- [キー] をクリックします。
- [鍵を追加]、[新しい鍵を作成] の順にクリックします。
- [作成] をクリックします。JSON キーファイルがパソコンにダウンロードされます。
- [閉じる] をクリックします。
-
環境変数
GOOGLE_APPLICATION_CREDENTIALS
を、サービス アカウント キーが含まれる JSON ファイルのパスに設定します。 この変数は現在のシェル セッションにのみ適用されるため、新しいセッションを開く場合は、変数を再度設定します。
クライアント ライブラリをインストールする
C#
C# 開発環境の設定の詳細については、C# 開発環境設定ガイドをご覧ください。
Install-Package Google.Cloud.BigQuery.V2 -Pre
Go
go mod init YOUR_MODULE_NAME go get cloud.google.com/go/bigquery
Java
Java 開発環境の設定の詳細については、Java 開発環境設定ガイドをご覧ください。
Maven を使用している場合は、次のものを pom.xml
ファイルに追加します。BOM の詳細については、Google Cloud Platform ライブラリ BOM をご覧ください。
Gradle を使用している場合は、次のものを依存関係に追加します。
sbt を使用している場合は、次のものを依存関係に追加します。
Visual Studio Code、IntelliJ または Eclipse を使用している場合は、次の IDE プラグインでプロジェクトにクライアント ライブラリを追加できます。
プラグインでは、サービス アカウントのキー管理などの追加機能も提供されます。詳細は各プラグインのドキュメントをご覧ください。
Node.js
Node.js 開発環境の設定の詳細については、Node.js 開発環境設定ガイドをご覧ください。
npm install --save @google-cloud/bigquery
PHP
composer require google/cloud-bigquery
Python
Python 開発環境の設定の詳細については、Python 開発環境設定ガイドをご覧ください。
pip install --upgrade google-cloud-bigquery
Ruby
Ruby 開発環境の設定の詳細については、Ruby 開発環境設定ガイドをご覧ください。
gem install google-cloud-bigquery
ライブラリのインポート
C#
詳細については、BigQuery C# API のリファレンス ドキュメントをご覧ください。
Go
詳細については、BigQuery Go API のリファレンス ドキュメントをご覧ください。
Java
詳細については、BigQuery Java API のリファレンス ドキュメントをご覧ください。
Node.js
詳細については、BigQuery Node.js API のリファレンス ドキュメントをご覧ください。
PHP
詳細については、BigQuery PHP API のリファレンス ドキュメントをご覧ください。
Python
詳細については、BigQuery Python API のリファレンス ドキュメントをご覧ください。
Ruby
詳細については、BigQuery Ruby API のリファレンス ドキュメントをご覧ください。
BigQuery クライアントの初期化
認証を行って BigQuery API に接続するようにクライアントを初期化します。
C#
BigQuery クライアントを作成するには、BigQueryClient.Create() 関数を使用します。
Go
BigQuery クライアントを作成するには、bigquery.NewClient() 関数を使用します。
Java
BigQueryOptions.getDefaultInstance() 関数を使用して、デフォルトの認証オプションを使用します。BigQuery クライアントを作成するには、BigQueryOptions.getService() 関数を使用します。
Node.js
BigQuery クラスをインスタンス化して、BigQuery クライアントを作成します。
PHP
BigQueryClient クラスをインスタンス化して、BigQuery クライアントを作成します。
Python
bigquery.Client クラスをインスタンス化して、BigQuery クライアントを作成します。
Ruby
Google::Cloud::BigQuery.new 関数を使用して、BigQuery クライアントを作成します。
データセットのクエリを実行する
次のクエリは、Stack Overflow の公開データセットから、閲覧回数が最も多い google-bigquery
でタグ付けされた質問を取得します。
SELECT CONCAT( 'https://stackoverflow.com/questions/', CAST(id as STRING)) as url, view_count FROM `bigquery-public-data.stackoverflow.posts_questions` WHERE tags like '%google-bigquery%' ORDER BY view_count DESC LIMIT 10
このクエリでは Google 標準 SQL 構文を使用しています。クライアント ライブラリのデフォルトは Google 標準 SQL 構文です。SQL 言語を変更するには、BigQuery の SQL 言語をご覧ください。
クエリを実行する
認証された BigQuery クライアントを使用して次のクエリを実行します。
C#
クエリ文字列を定義し、client.ExecuteQuery() 関数を使用してそのクエリを送信して結果を取得します。
Go
bigquery.Query() 関数を使用してクエリを定義し、Query.Read() 関数を使用してクエリを送信して結果を取得します。
Java
QueryJobConfiguration インスタンスを使用してクエリを定義します。BigQuery.create() メソッドを使用してクエリジョブを開始します。
Node.js
BigQuery.query() メソッドを使用してクエリを開始します。
PHP
クエリ構成を作成し、BigQueryClient.startQuery() メソッドを使用してクエリを開始します。
Python
Client.query() メソッドを使用してクエリを開始します。
Ruby
Google::Cloud::Bigquery::Project.query 関数を使用してクエリを開始し、結果を待ちます。
クエリに関する詳細:
クエリ結果を表示する
クエリ結果を表示します。
C#
Go
RowIterator.Next()関数を使用して、各行を構造体ポインタに読み込みます。
Java
QueryResponse を反復処理して、結果のすべての行を取得します。ページ分割はイテレータによって自動的に処理されます。各 FieldList は、数値インデックスまたは列名で列を公開します。
Node.js
クエリ結果は、各行が辞書である行のリストとして返されます。
PHP
Job.queryResults() メソッドを呼び出して、クエリが完了するのを待ちます。クエリ結果の各行は連想配列です。
Python
RowIterator を反復処理して、結果のすべての行を取得します。ページ分割はイテレータによって自動的に処理されます。各 Row は、数値インデックス、列名、Python 属性で列を公開します。
Ruby
Google::Cloud::Bigquery::Data クラスは各行をハッシュとして公開します。
BigQuery でのテーブルの操作に関する詳細:
完全なソースコード
次に、サンプルの完全なソースコードを示します。
C#
Go
Java
Node.js
PHP
Python
Ruby
いかがでしたか
次のステップ
Google BigQuery API クライアント ライブラリの詳細を確認する。