BigQuery 用の ODBC ドライバと JDBC ドライバ
はじめに
Google は Simba と共同で、BigQuery の GoogleSQL を活用するための ODBC ドライバと JDBC ドライバを提供しています。
JDBC ドライバと ODBC ドライバの目的は、既存のツールとインフラストラクチャで BigQuery の機能を活用できるようにすることです。高パフォーマンスのストレージの統合や予約の管理など、BigQuery の一部の機能は BigQuery API 経由でのみ利用できます。これらのドライバは BigQuery でのみ使用でき、他のプロダクトやサービスでは使用できません。これらのドライバは追加のライセンスなしで使用できますが、アプリケーションの一部として再配布することはできません。
現在の ODBC ドライバ
ODBC リリース 3.0.5.1011
- Windows 32 ビット(msi)
- Windows 64 ビット(msi)
- Linux 32 ビット / 64 ビット(tar.gz)
- macOS(dmg)
- リリースノート
- インストールと構成のガイド
ODBC リリース 2.5.2.1004
3.x リリースにアップグレードすることをおすすめします。バグの修正と重要なセキュリティ更新のため、2.5.x リリースは引き続きサポートされますが、BigQuery の新機能は 3.x リリースにのみ追加されます。
- Windows 32 ビット(msi)
- Windows 64 ビット(msi)
- Linux 32 ビット / 64 ビット(tar.gz)
- macOS(dmg)
- リリースノート
- インストールと構成ガイド
現在の JDBC ドライバ
JDBC リリース 1.5.4.1008
報告されている問題とよくある質問
これらのドライバを使用して、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 の料金は、大規模な結果セットにのみ適用されます。