Embulk を使用して Act-On ののデータをデータベースにロードする方法
Embulk はオープンソースのバルクデータローダーです。CData JDBC Driver for Act-On と組み合わせることで、Act-On から任意の同期先にデータを簡単にロードできます。この記事では、CData JDBC Driver for Act-On をEmbulk で使用してAct-On のデータをMySQL データベースにロードする方法を解説します。
CData JDBC Driver は、最適化されたデータ処理機能を内蔵しており、リアルタイムのAct-On のデータに対して比類のないパフォーマンスを発揮します。Act-On に対して複雑なSQL クエリを発行すると、ドライバーはフィルタや集計などのサポートされているSQL 操作を直接Act-On にプッシュし、サポートされていない操作(SQL 関数やJOIN 操作など)は組み込みのSQL エンジンを使用してクライアント側で処理します。
Act-On への JDBC 接続を設定
Embulk でバルクロードジョブを作成する前に、JDBC Driver のJAR ファイルのインストール場所(通常はC:\Program Files\CData\CData JDBC Driver for Act-On\lib)を確認しておきます。
Embulk はJDBC 接続をサポートしているため、Act-On に簡単に接続してSQL クエリを実行できます。バルクロードジョブを作成する前に、Act-On への認証用のJDBC URL を作成します。
ActOn はOAuth 認証標準を利用しています。OAuth を使って認証するには、アプリケーションを作成してOAuthClientId、OAuthClientSecret、およびCallbackURL 接続プロパティを取得する必要があります。
認証方法についての詳細は、ヘルプドキュメントの「認証の使用」を参照してください。
組み込みの接続文字列デザイナー
JDBC URL の作成には、Act-On JDBC Driver に組み込まれている接続文字列デザイナーを使用できます。JAR ファイルをダブルクリックするか、コマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.acton.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
以下は、Act-On への一般的なJDBC 接続文字列です。
jdbc:acton:
Embulk で Act-On ののデータをロード
CData JDBC Driver をインストールしてJDBC 接続文字列を作成したら、必要なEmbulk プラグインをインストールします。
Embulk の入力・出力プラグインをインストール
- Embulk にJDBC 入力プラグインをインストールします。
https://github.com/embulk/embulk-input-jdbc/tree/master/embulk-input-jdbc - この記事では、同期先データベースとしてMySQL を使用します。出力プラグインを使用して、SQL Server、PostgreSQL、またはGoogle BigQuery を同期先として選択することもできます。
https://github.com/embulk/embulk-output-jdbc/tree/master/embulk-output-mysqlembulk gem install embulk-output-mysql
embulk gem install embulk-input-jdbc
入力プラグインと出力プラグインをインストールしたら、Embulk を使用してAct-On のデータをMySQL にロードする準備が整いました。
Act-On ののデータをロードするジョブを作成
まず、Embulk で設定ファイルを作成します。ファイル名はacton-mysql.yml のようにします。
- 入力プラグインのオプションには、CData JDBC Driver for Act-On、ドライバーJAR ファイルへのパス、ドライバークラス(例:cdata.jdbc.acton.ActOnDriver)、および上記のJDBC URL を指定します。
- 出力プラグインのオプションには、MySQL データベースの値と認証情報を指定します。
設定ファイルのサンプル(acton-mysql.yml)
in: type: jdbc driver_path: C:\Program Files\CData[product_name] 20xx\lib\cdata.jdbc.acton.jar driver_class: cdata.jdbc.acton.ActOnDriver url: jdbc:acton: table: "Images" out: type: mysql host: localhost database: DatabaseName user: UserId password: UserPassword table: "Images" mode: insert
ファイルを作成したら、Embulk ジョブを実行します。
embulk run acton-mysql.yml
Embulk ジョブを実行すると、MySQL テーブルにAct-On のデータが格納されます。
フィルタリングした Act-On ののデータをロード
テーブルから直接データをロードするだけでなく、カスタムSQL クエリを使用してロードするデータをより詳細に制御できます。また、クエリフィールドのSQL WHERE 句で最終更新カラムを設定することで、増分ロードを実行することもできます。
in: type: jdbc driver_path: C:\Program Files\CData[product_name] 20xx\lib\cdata.jdbc.acton.jar driver_class: cdata.jdbc.acton.ActOnDriver url: jdbc:acton: query: "SELECT Id, Name FROM Images WHERE [RecordId] = 1" out: type: mysql host: localhost database: DatabaseName user: UserId password: UserPassword table: "Images" mode: insert
詳細情報と無料トライアル
CData JDBC Driver for Act-On をコネクタとして使用することで、Embulk のデータロードジョブにAct-On のデータを統合できます。また、200 を超えるエンタープライズデータソース向けドライバーにより、あらゆるエンタープライズSaaS、ビッグデータ、NoSQL ソースも統合できます。30日間の無料トライアルをダウンロードして、今すぐお試しください。