始める前に
- Google アカウントにログインします。
Google アカウントをまだお持ちでない場合は、新しいアカウントを登録します。
-
Google Cloud Console の [プロジェクト セレクタ] ページで、Google Cloud プロジェクトを選択または作成します。
- BigQuery API を有効にします。
- 認証の設定:
-
Cloud Console で、[サービス アカウント キーの作成] ページに移動します。
[サービス アカウント キーの作成] ページに移動 - [サービス アカウント] リストから [新しいサービス アカウント] を選択します。
- [サービス アカウント名] フィールドに名前を入力します。
[ロール] リストから、プロジェクト > オーナー
- [作成] をクリックします。キーが含まれている JSON ファイルがパソコンにダウンロードされます。
-
-
環境変数
GOOGLE_APPLICATION_CREDENTIALS
を、サービス アカウント キーが含まれる JSON ファイルのパスに設定します。 この変数は現在のシェル セッションにのみ適用されるため、新しいセッションを開く場合は、変数を再度設定します。
クライアント ライブラリのインストール
C#
C# 開発環境の設定の詳細については、C# 開発環境設定ガイドをご覧ください。
Install-Package Google.Cloud.BigQuery.V2 -Pre
Go
go get -u cloud.google.com/go/bigquery
Java
Java 開発環境の設定の詳細については、Java 開発環境設定ガイドをご覧ください。
Maven を使用している場合は、次のものを pom.xml
ファイルに追加します。BOM の詳細については、Google Cloud Platform ライブラリ BOM をご覧ください。
Gradle を使用している場合は、次のものを依存関係に追加します。
sbt を使用している場合は、次のものを依存関係に追加します。
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 クライアントの初期化
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
このクエリでは標準 SQL 構文を使用しています。標準 SQL 構文の詳細については、クエリ リファレンス ガイドをご覧ください。クライアント ライブラリのデフォルトは標準 SQL 構文です。SQL 言語を変更するには、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 関数を使用してクエリを開始し、結果を待ちます。
BigQuery クエリの実行に関するその他の例については、以下をご覧ください。
クエリ結果の表示
クエリ結果を表示します。
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 クライアント ライブラリの詳細を確認する。