BigQuery 用の ODBC ドライバと JDBC ドライバ

はじめに

Google は Simba と共同で、BigQuery の GoogleSQL を活用するための ODBC ドライバと JDBC ドライバを提供しています。

JDBC ドライバと ODBC ドライバの目的は、既存のツールとインフラストラクチャで BigQuery の機能を活用できるようにすることです。高パフォーマンスのストレージの統合や予約の管理など、BigQuery の一部の機能は BigQuery API 経由でのみ利用できます。これらのドライバは BigQuery でのみ使用でき、他のプロダクトやサービスでは使用できません。これらのドライバは追加のライセンスなしで使用できますが、アプリケーションの一部として再配布することはできません。

現在の ODBC ドライバ

ODBC リリース 3.0.4.1008

ODBC リリース 2.5.2.1004

3.x リリースにアップグレードすることをおすすめします。バグの修正と重要なセキュリティ更新のため、2.5.x リリースは引き続きサポートされますが、BigQuery の新機能は 3.x リリースにのみ追加されます。

現在の JDBC ドライバ

JDBC リリース 1.5.2.1005

報告されている問題とよくある質問

これらのドライバを使用して、BigQuery と既存の環境間でのデータの取り込みやエクスポートをすることはできますか?

これらのドライバは、BigQuery のクエリ インターフェースを利用しており、BigQuery の大規模な取り込みメカニズムやエクスポート機能を利用する機能は提供しません。

DML を使用して少量の INSERT リクエストを発行することはできますが、DML の上限の影響を受けます。

ドライバは BigQuery のネスト データスキーマと繰り返しデータスキーマをどのように処理しますか?

ネストデータと繰り返しデータ(GoogleSQL では STRUCTS と ARRAYS)は、これらの型の BigQuery API からの JSON 出力として表されます。これは、ODBC データモデルにはこのデータを表す適切な方法がないためです。これらの型を操作するクエリを実行できますが、クエリの出力スキーマの型が複雑な場合は、ドライバがそれらを JSON 形式でエンコードして出力します。

ドライバはパラメータ化されたクエリをサポートしていますか?

はい、ドライバは位置によるパラメータ化をサポートしています。実行前のクエリの準備段階で検証情報が提供されますが、実行するクエリのパフォーマンスには影響しないことに注意してください。

ドライバは SQL クエリ接頭辞をサポートしていますか?

BigQuery はクエリ接頭辞を使用したレガシー SQL 言語と GoogleSQL 言語の切り替えをサポートしていますが、ドライバはサポートしていません。ドライバは、接続の確立時に使用される SQL モードに関連した特定の状態を維持し、接続の確立時に明示的にオプションを設定します。接続が確立されると SQL モードが固定されるため、ドライバは、クエリ接頭辞を使用した SQL 言語の切り替えをサポートしません。

これらのドライバのサポートを受けるにはどうすればよいですか?

サポート オプションについては、サポートページをご覧ください。

ドライバを介して BigQuery にクエリを実行した場合、どのように課金されますか?

ドライバは無料でダウンロードできます。ドライバを介して実行されるクエリは、ドライバの構成方法に基づいて課金されます。

  • デフォルトでは、ドライバから実行されるクエリにクエリの料金が適用されます。ドライバが大規模な結果セットをサポートするように構成されていない場合、クエリ料金のみが適用されます。
  • 大規模な結果セットを宛先テーブルに書き込むようにドライバが構成されている場合、クエリの料金に加えてストレージの料金も適用されます。データは 24 時間保存されるため、テーブル結果に 24 時間分のストレージ料金がかかります。
  • ドライバから Storage API を呼び出す場合は Storage API の料金が適用されます。この料金は、クエリ結果からのデータの読み取りに適用されますが、クエリでスキャンされたデータには適用されません。Storage API の料金は、大規模な結果セットにのみ適用されます。