Oracle Data Integrator で e-Sales Manager データをETL
JDBC 標準を使用して、既存のスキルを活かしながらe-Sales Manager に読み書きできます。 Oracle Data Integrator(ODI)などの ETL ツールにドロップインで統合できる CData JDBC Driver for e-Sales Manager を使えば、リアルタイムのe-Sales Manager のデータをデータウェアハウス、ビジネスインテリジェンス、ビッグデータテクノロジーに接続できます。
JDBC 接続により、ODI でe-Sales Manager を他のデータベースと同様に扱うことができます。RDBMS と同じように、フラットファイルではなくリアルタイムでe-Sales Manager API に直接接続できます。
この記事では、JDBC ベースの ETL(e-Sales Manager から Oracle へ)の手順を説明します。e-Sales Manager エンティティのデータモデルをリバースエンジニアリングした後、マッピングを作成し、データロード戦略を選択します。ドライバーが SQL-92 をサポートしているため、組み込みの SQL to SQL Loading Knowledge Module を選択するだけで簡単に実現できます。
ドライバーのインストール
ドライバーをインストールするには、インストールフォルダにあるドライバー JAR(cdata.jdbc.esalesmanager.jar)と .lic ファイル(cdata.jdbc.esalesmanager.lic)を、ODI の適切なディレクトリにコピーします。
- UNIX/Linux(エージェントなし): ~/.odi/oracledi/userlib
- UNIX/Linux(エージェントあり): ~/.odi/oracledi/userlib および $ODI_HOME/odi/agent/lib
- Windows(エージェントなし): %APPDATA%\Roaming\odi\oracledi\userlib
- Windows(エージェントあり): %APPDATA%\odi\oracledi\userlib および %APPDATA%\odi\agent\lib
ODI を再起動してインストールを完了します。
モデルのリバースエンジニアリング
モデルをリバースエンジニアリングすると、ドライバーのe-Sales Manager のデータに対するリレーショナルビューのメタデータが取得されます。リバースエンジニアリング後は、リアルタイムのe-Sales Manager のデータをクエリし、e-Sales Manager テーブルに基づいてマッピングを作成できます。
-
ODI でリポジトリに接続し、New -> Model and Topology Objects をクリックします。
- 表示されるダイアログの Model 画面で、以下の情報を入力します。
- Name: ESalesManager と入力します。
- Technology: Generic SQL を選択します(ODI バージョン 12.2 以降の場合は Microsoft SQL Server を選択)。
- Logical Schema: ESalesManager と入力します。
- Context: Global を選択します。
- 表示されるダイアログの Data Server 画面で、以下の情報を入力します。
- Name: ESalesManager と入力します。
- Driver List: Oracle JDBC Driver を選択します。
- Driver: cdata.jdbc.esalesmanager.ESalesManagerDriver と入力します。
- URL: 接続文字列を含む 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
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
一般的な接続文字列は以下のとおりです。
jdbc:esalesmanager:User=MyUsername;Password=MyPassword;URL=MyInstanceURL;TenantId=MyTenantId;
- Physical Schema 画面で、以下の情報を入力します。
- Name: ドロップダウンメニューから選択します。
- Database (Catalog): CData と入力します。
- Owner (Schema): e-Sales Manager でスキーマを選択した場合は選択したスキーマを入力し、それ以外の場合は ESalesManager と入力します。
- Database (Work Catalog): CData と入力します。
- Owner (Work Schema): e-Sales Manager でスキーマを選択した場合は選択したスキーマを入力し、それ以外の場合は ESalesManager と入力します。
- 開いたモデルで Reverse Engineer をクリックして、e-Sales Manager テーブルのメタデータを取得します。
e-Sales Manager のデータの編集と保存
リバースエンジニアリングが完了すると、ODI でe-Sales Manager のデータを操作できるようになります。
e-Sales Manager のデータを編集・保存するには、Designer ナビゲーターで Models アコーディオンを展開し、テーブルを右クリックして Data をクリックします。Refresh をクリックするとデータの変更を取得できます。変更が完了したら Save Changes をクリックします。
ETL プロジェクトの作成
以下の手順に従って、e-Sales Manager からの ETL を作成します。ODI Getting Started VM に含まれるサンプルデータウェアハウスに Customer エンティティをロードします。
SQL Developer を開き、Oracle データベースに接続します。Connections ペインでデータベースのノードを右クリックし、new SQL Worksheet をクリックします。
または、SQLPlus を使用することもできます。コマンドプロンプトから以下を入力します。
sqlplus / as sysdba
- 以下のクエリを入力して、ODI_DEMO スキーマにあるサンプルデータウェアハウスに新しいターゲットテーブルを作成します。以下のクエリでは、e-Sales Manager の Customer テーブルに対応するいくつかのカラムを定義しています。
CREATE TABLE ODI_DEMO.TRG_CUSTOMER (ADDRESS NUMBER(20,0),Name VARCHAR2(255));
- ODI で Designer ナビゲーターの Models アコーディオンを展開し、ODI_DEMO フォルダ内の Sales Administration ノードをダブルクリックします。モデルエディターでモデルが開きます。
- Reverse Engineer をクリックします。TRG_CUSTOMER テーブルがモデルに追加されます。
- プロジェクト内の Mappings ノードを右クリックし、New Mapping をクリックします。マッピングの名前を入力し、Create Empty Dataset オプションのチェックを外します。Mapping Editor が表示されます。
- Sales Administration モデルから TRG_CUSTOMER テーブルをマッピングにドラッグします。
- e-Sales Manager モデルから Customer テーブルをマッピングにドラッグします。
- ソースのコネクタポイントをクリックし、ターゲットのコネクタポイントにドラッグします。Attribute Matching ダイアログが表示されます。この例では、デフォルトのオプションを使用します。ターゲットカラムのプロパティにターゲット式が表示されます。
- Mapping Editor の Physical タブを開き、TARGET_GROUP 内の CUSTOMER_AP をクリックします。
- CUSTOMER_AP のプロパティで、Loading Knowledge Module タブの LKM SQL to SQL (Built-In) を選択します。
マッピングを実行して、e-Sales Manager のデータを Oracle にロードできます。