各製品の資料を入手。
詳細はこちら →CData
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
PostgreSQL には多くの対応クライアントがあります。標準のドライバーからBI、アナリティクスツールまで、PostgreSQL はデータ接続の人気のインターフェースです。JDBC ドライバーを使用することで、簡単に任意の標準クライアントから接続できるPostgreSQL エントリポイントを作成できます。
BigQuery にPostgreSQL データベースとしてアクセスするには、CData JDBC Driver for GoogleBigQuery とJDBC foreign data wrapper (FDW) を使用します。この記事ではFDW をコンパイルしてインストールし、PostgreSQL サーバーからBigQuery にクエリを実行します。
JDBC データソースとしてBigQuery に接続するには、以下が必要です。
Driver クラス
cdata.jdbc.googlebigquery.GoogleBigQueryDriver
Google BigQuery はOAuth 認証標準を使用します。個々のユーザーとしてGoogle API にアクセスするには、組み込みクレデンシャルを使うか、OAuth アプリを作成します。
OAuth では、Google Apps ドメインのユーザーとしてサービスアカウントを使ってアクセスすることもできます。サービスカウントでの認証では、OAuth JWT を取得するためのアプリケーションを登録する必要があります。
OAuth 値に加え、DatasetId、ProjectId を設定する必要があります。詳細はヘルプドキュメントの「はじめに」を参照してください。
JDBC URL の構成については、BigQuery JDBC Driver に組み込まれている接続文字列デザイナを使用できます。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.googlebigquery.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
以下は一般的なJDBC URL です。
jdbc:googlebigquery:DataSetId=MyDataSetId;ProjectId=MyProjectId;InitiateOAuth=GETANDREFRESH
FDW は、PostgreSQL を再コンパイルせずに、PostgreSQL の拡張機能としてインストールできます。例としてjdbc2_fdw 拡張子を使用します。
ln -s /usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server/libjvm.so /usr/lib/libjvm.so
make install USE_PGXS=1
拡張機能をインストールした後、以下のステップに従ってBigQuery へのクエリの実行を開始します。
CREATE EXTENSION jdbc2_fdw;
CREATE SERVER GoogleBigQuery
FOREIGN DATA WRAPPER jdbc2_fdw OPTIONS (
drivername 'cdata.jdbc.googlebigquery.GoogleBigQueryDriver',
url 'jdbc:googlebigquery:DataSetId=MyDataSetId;ProjectId=MyProjectId;InitiateOAuth=GETANDREFRESH',
querytimeout '15',
jarfile '/home/MyUser/CData/CData\ JDBC\ Driver\ for\ Salesforce MyDriverEdition/lib/cdata.jdbc.googlebigquery.jar');
CREATE USER MAPPING for postgres SERVER GoogleBigQuery OPTIONS (
username 'admin',
password 'test');
postgres=# CREATE FOREIGN TABLE orders (
orders_id text,
orders_OrderName text,
orders_Freight numeric)
SERVER GoogleBigQuery OPTIONS (
table_name 'orders');
postgres=# SELECT * FROM orders;
このようにCData JDBC Driver for GoogleBigQuery を使って簡単にBigQuery のデータを取得して検索対象にすることができました。ぜひ、30日の無償評価版 をお試しください。