Embulk を使用して e-Sales Manager ののデータをデータベースにロードする方法
Embulk はオープンソースのバルクデータローダーです。CData JDBC Driver for e-Sales Manager Remix と組み合わせることで、e-Sales Manager から任意の同期先にデータを簡単にロードできます。この記事では、CData JDBC Driver for e-Sales Manager Remix をEmbulk で使用してe-Sales Manager のデータをMySQL データベースにロードする方法を解説します。
CData JDBC Driver は、最適化されたデータ処理機能を内蔵しており、リアルタイムのe-Sales Manager のデータに対して比類のないパフォーマンスを発揮します。e-Sales Manager に対して複雑なSQL クエリを発行すると、ドライバーはフィルタや集計などのサポートされているSQL 操作を直接e-Sales Manager にプッシュし、サポートされていない操作(SQL 関数やJOIN 操作など)は組み込みのSQL エンジンを使用してクライアント側で処理します。
e-Sales Manager への JDBC 接続を設定
Embulk でバルクロードジョブを作成する前に、JDBC Driver のJAR ファイルのインストール場所(通常はC:\Program Files\CData\CData JDBC Driver for e-Sales Manager Remix\lib)を確認しておきます。
Embulk はJDBC 接続をサポートしているため、e-Sales Manager に簡単に接続してSQL クエリを実行できます。バルクロードジョブを作成する前に、e-Sales Manager への認証用のJDBC URL を作成します。
e セールスマネージャー Remix に接続するには、User、Passowrd、URL、TenantId パラメータが必要です。
- User:API を実行するためのログインユーザーのユーザーID。
- Password:API を実行するためのログインユーザーのユーザーパスワード 。
- URL:e-Sales Manager Remix エンドポイントへのURL。例:https://XXX.softbrain.co.jp
- TenantId:e-Sales Manager Remix テナント名のTenantd。例:cdata
組み込みの接続文字列デザイナー
JDBC URL の作成には、e-Sales Manager JDBC Driver に組み込まれている接続文字列デザイナーを使用できます。JAR ファイルをダブルクリックするか、コマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.esalesmanager.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
以下は、e-Sales Manager への一般的なJDBC 接続文字列です。
jdbc:esalesmanager:User=MyUsername;Password=MyPassword;URL=MyInstanceURL;TenantId=MyTenantId;
Embulk で e-Sales Manager ののデータをロード
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 を使用してe-Sales Manager のデータをMySQL にロードする準備が整いました。
e-Sales Manager ののデータをロードするジョブを作成
まず、Embulk で設定ファイルを作成します。ファイル名はesalesmanager-mysql.yml のようにします。
- 入力プラグインのオプションには、CData JDBC Driver for e-Sales Manager Remix、ドライバーJAR ファイルへのパス、ドライバークラス(例:cdata.jdbc.esalesmanager.ESalesManagerDriver)、および上記のJDBC URL を指定します。
- 出力プラグインのオプションには、MySQL データベースの値と認証情報を指定します。
設定ファイルのサンプル(esalesmanager-mysql.yml)
in: type: jdbc driver_path: C:\Program Files\CData[product_name] 20xx\lib\cdata.jdbc.esalesmanager.jar driver_class: cdata.jdbc.esalesmanager.ESalesManagerDriver url: jdbc:esalesmanager:User=MyUsername;Password=MyPassword;URL=MyInstanceURL;TenantId=MyTenantId; table: "Customer" out: type: mysql host: localhost database: DatabaseName user: UserId password: UserPassword table: "Customer" mode: insert
ファイルを作成したら、Embulk ジョブを実行します。
embulk run esalesmanager-mysql.yml
Embulk ジョブを実行すると、MySQL テーブルにe-Sales Manager のデータが格納されます。
フィルタリングした e-Sales Manager ののデータをロード
テーブルから直接データをロードするだけでなく、カスタムSQL クエリを使用してロードするデータをより詳細に制御できます。また、クエリフィールドのSQL WHERE 句で最終更新カラムを設定することで、増分ロードを実行することもできます。
in: type: jdbc driver_path: C:\Program Files\CData[product_name] 20xx\lib\cdata.jdbc.esalesmanager.jar driver_class: cdata.jdbc.esalesmanager.ESalesManagerDriver url: jdbc:esalesmanager:User=MyUsername;Password=MyPassword;URL=MyInstanceURL;TenantId=MyTenantId; query: "SELECT Name, Address FROM Customer WHERE [RecordId] = 1" out: type: mysql host: localhost database: DatabaseName user: UserId password: UserPassword table: "Customer" mode: insert
詳細情報と無料トライアル
CData JDBC Driver for e-Sales Manager Remix をコネクタとして使用することで、Embulk のデータロードジョブにe-Sales Manager のデータを統合できます。また、200 を超えるエンタープライズデータソース向けドライバーにより、あらゆるエンタープライズSaaS、ビッグデータ、NoSQL ソースも統合できます。30日間の無料トライアルをダウンロードして、今すぐお試しください。