はじめに
Google は Magnitude Simba と共同で、BigQuery の標準 SQL を利用する ODBC ドライバと JDBC ドライバを提供しています。
これらのドライバの目的は、BigQuery の強力な機能を、ネイティブに統合されていない既存のツールやインフラストラクチャに接続できるようにすることです。BigQuery との新しい統合を構築する場合は、ネイティブ API を検討する必要があります。ODBC/JDBC 接続によって公開される機能は、必然的に BigQuery の全機能のサブセットになります。
現在の ODBC ドライバのリリース(2.3.2.1003)
- Windows 32 ビット(msi)
- Windows 64 ビット(msi)
- Linux 32 ビット / 64 ビット(tar.gz)
- macOS(dmg)
- リリースノート
- インストールと構成ガイド
現在の JDBC ドライバのリリース(1.2.12.1015)
報告されている問題とよくある質問
これらのドライバを使用して、BigQuery と既存の環境間でのデータの取り込みやエクスポートをすることはできますか?
これらのドライバは、BigQuery のクエリ インターフェースを利用しており、BigQuery の大規模な取り込みメカニズムやエクスポート機能を利用する機能は提供しません。
DML を使用して少量の INSERT リクエストを発行することはできますが、DML の制限の影響を受けます。
ドライバは BigQuery のネスト データスキーマと繰り返しデータスキーマをどのように処理しますか?
ネストデータと繰り返しデータ(標準 SQL では STRUCTS と ARRAYS とも呼ばれる)は、これらの型の BigQuery API からの JSON 出力として表されます。これは、ODBC データモデルにはこのデータを表す適切な方法がないためです。これらの型を操作するクエリを実行できますが、クエリの出力スキーマの型が複雑な場合は、ドライバがそれらを JSON 形式でエンコードして出力します。
ドライバはパラメータ化されたクエリをサポートしていますか?
はい、ドライバは位置によるパラメータ化をサポートしています。実行前のクエリの準備段階で検証情報が提供されますが、実行するクエリのパフォーマンスには影響しないことに注意してください。
ドライバにはライセンスが必要ですか?
ドライバに付属しているドキュメントの以前のバージョンは、ライセンス ファイルを参照していました。今回提供されるドライバはライセンス ファイルが不要であり、このことを明記するためにドキュメントが更新されています。
ドライバは SQL クエリ接頭辞をサポートしていますか?
BigQuery はクエリ接頭辞を使用したレガシー SQL 言語と標準 SQL 言語の切り替えをサポートしていますが、ドライバはサポートしていません。ドライバは、接続の確立時に使用される SQL モードに関連した特定の状態を維持し、接続の確立時に明示的にオプションを設定します。接続が確立されると SQL モードが固定されるため、ドライバは、クエリ接頭辞を使用した SQL 言語の切り替えをサポートしません。
これらのドライバのサポートを受けるにはどうすればよいですか?
サポート オプションについては、サポートページをご覧ください。ドライバの技術面でのサポートを BigQuery チームが直接提供することはありません。代わりに、BigQuery チームはご報告いただいた問題に対処するために、必要に応じて Magnitude Simba チームと連携します。
ドライバを介して BigQuery にクエリを実行した場合、どのように課金されますか?
ドライバは無料でダウンロードできます。ドライバを介して実行されるクエリは、ドライバの構成方法に基づいて課金されます。
- デフォルトでは、ドライバから実行されるクエリにクエリの料金が適用されます。ドライバが大規模な結果セットをサポートするように構成されていない場合、クエリ料金のみが適用されます。
- 大規模な結果セットを宛先テーブルに書き込むようにドライバが構成されている場合、クエリの料金に加えてストレージの料金も適用されます。データは 24 時間保存されるため、テーブル結果に 24 時間分のストレージ料金がかかります。
- ドライバから Storage API を呼び出す場合は Storage API の料金が適用されます。この料金は、クエリ結果からのデータの読み取りに適用されますが、クエリでスキャンされたデータには適用されません。Storage API の料金は、大規模な結果セットにのみ適用されます。