Yahoo! JAPAN DATA SOLUTION のデータ の PostgreSQL インターフェースを作成(MySQL リモーティング経由の JDBC)

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
Yahoo! JAPAN DATA SOLUTION JDBC Driver のリモート機能を使用して、データアクセス用の PostgreSQL エントリポイントを作成します。

PostgreSQL には多くの対応クライアントがあります。標準のドライバーから BI、アナリティクスツールまで、PostgreSQL はデータ接続の人気のインターフェースです。JDBC ドライバーのリモーティング機能を使用することで、任意の標準クライアントから接続できる PostgreSQL エントリポイントを簡単に作成できます。

Yahoo! JAPAN DATA SOLUTION のデータ に PostgreSQL データベースとしてアクセスするには、CData JDBC Driver for Yahoo! JAPAN DATA SOLUTION のリモーティング機能と、EnterpriseDB の MySQL Foreign Data Wrapper(FDW)を使用します。この記事では、FDW をインストールし、PostgreSQL Server からYahoo! JAPAN DATA SOLUTION のデータにクエリを実行する方法を説明します。

Yahoo! JAPAN DATA SOLUTION への接続を設定

以下の手順に従って、Yahoo! JAPAN DATA SOLUTION への接続に必要な認証情報やその他の接続プロパティをドライバーの MySQL デーモンに設定します。MySQL デーモンは、Yahoo! JAPAN DATA SOLUTION のデータ を CDataYahooDS という名前の MySQL データベースとして公開します。デーモンの設定ファイル内の databases セクションに接続プロパティを追加します。設定ファイルは、ドライバーのインストールディレクトリの lib サブフォルダにあります。

以下は一般的な接続文字列です:


[databases]
yahoo! japan data solution = "AppID=12345678-1234-1234-1234-123456789012;"

また、users セクションにユーザーを作成します。

MySQL デーモンのすべての設定オプションについては、ヘルプドキュメントをご参照ください。

リモーティングサービスを開始

以下の手順に従って、CData JDBC Driver for Yahoo! JAPAN DATA SOLUTION の MySQL リモーティング機能を有効にします。

  1. ドライバーはテスト用に適したデフォルト設定を作成します。サービスを開始するだけでYahoo! JAPAN DATA SOLUTION のデータに接続できます。

  2. 以下のコマンドで MySQL リモーティングサービスを開始します:
    java -jar cdata.jdbc.yahoods.jar -f cdata.jdbc.yahoods.remoting.ini
    

MySQL Foreign Data Wrapper をビルドしてインストール

Foreign Data Wrapper は、PostgreSQL を再コンパイルせずに、PostgreSQL の拡張機能としてインストールできます。

お使いの OS で pgxn が利用可能な場合は、以下のコマンドでインストールできます:

pgxn install mysql_fdw USE_PGXS=1

利用できない場合は、以下の手順で自分でビルドしてください:

  1. MySQL C クライアントライブラリをインストールし、EnterpriseDB の MySQL 用 FDW のソースを取得します(例:GitHub から)。
  2. FDW をビルドします。pg_config と mysql_config の実行ファイルを PATH に追加してください:
    env PATH=/usr/local/pgsql/bin:/usr/local/mysql/bin:$PATH make USE_PGXS=1
    
  3. FDW をインストールします:
    make USE_PGXS=1 install
    

インストールを完了するには、libmysqlclient ライブラリを環境にロードする必要があります(例:パスに追加するなど)。

Yahoo! JAPAN DATA SOLUTION のデータ を PostgreSQL データベースとしてクエリ

拡張機能をインストールした後、以下の手順に従ってYahoo! JAPAN DATA SOLUTION のデータへのクエリ実行を開始します:

  1. データベースにログインします。
  2. データベースの拡張機能をロードします:
    postgres=#CREATE EXTENSION mysql_fdw;
    
  3. Yahoo! JAPAN DATA SOLUTION のデータ 用のサーバーオブジェクトを作成します:
    postgres=# CREATE SERVER YahooDS FOREIGN DATA WRAPPER mysql_fdw OPTIONS (host
    '127.0.0.1', port '3309');
    
  4. MySQL デーモンに認識されているユーザーのユーザー名とパスワードでユーザーマッピングを作成します:
    postgres=# CREATE USER MAPPING for postgres SERVER YahooDS OPTIONS (username
    'admin', password 'test');
    
  5. ローカルスキーマを作成します:
    postgres=# CREATE SCHEMA YahooDS_db;
  6. デーモン設定ファイルで定義した Yahoo! JAPAN DATA SOLUTION データベース内のすべてのテーブルをインポートします:
    postgres=# IMPORT FOREIGN SCHEMA "YahooDS" FROM SERVER YahooDS INTO YahooDS_db;
    

これで Yahoo! JAPAN DATA SOLUTION に対して SELECT コマンドを実行できます:

postgres=# SELECT * FROM YahooDS_db."searchranking";

はじめる準備はできましたか?

Yahoo! JAPAN DATA SOLUTION Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

Yahoo! JAPAN DATA SOLUTION Icon Yahoo! JAPAN DATA SOLUTION JDBC Driver お問い合わせ

Rank、Volume、SearchKeyword などのYahoo! JAPAN データソリューションデータを組み込んだパワフルなJava アプリケーションを迅速に作成して配布できます。