CData Python Connector for e-Sales Manager を使って、Python petl でe-Sales Manager data のETL 連携・パイプラインアプリケーションを作成。
Pythonエコシステムには、多くのモジュールがあり、システム構築を素早く効率的に行うことができます。CData Python Connector for e-Sales Manager とpetl フレームワークを使って、e-Sales Manager に連携するPython アプリや、e-Sales Manager データをETL することが可能です。本記事では、CData Python Connector をpetl と一緒に使い、ETL 処理を実装します。
CData Python Connector は、ビルトインされた効率的なデータプロセスにより、リアルタイムe-Sales Manager data データにPython からアクセスし、高いパフォーマンスと接続性を発揮します。e-Sales Manager に複雑なクエリを投げる際に、ドライバーはフィルタリング、集計などがサポートされている場合、SQL 処理を直接e-Sales Manager 側に行わせ、サポートされていないSQL 処理については、組み込まれたSQL エンジンによりクライアント側で処理を行います(特にJOIN やSQL 関数など)。
e-Sales Manager Data への接続
e-Sales Manager data への連携は、RDB ソースへのアクセスと同感覚で行うことができます。必要な接続プロパティを使って接続文字列を作成します。本記事では、接続文字列をcreate_engine 関数のパラメータとして送ります。
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
CData e-Sales Manager Connector をインストールしたら、次のように必要なモジュールをインストールし、Python オブジェクトでe-Sales Manager にアクセスします。
必要なモジュールのインストール
pip で必要なモジュールおよびフレームワークをインストールします:
pip install petl pip install pandas
Python でe-Sales Manager データをETL 処理するアプリを構築
モジュールとフレームワークをインストールしたら、ETL アプリケーションを組んでいきます。コードのスニペットは以下の通りです。フルコードは記事の末尾に付いています。
CData Connector を含むモジュールをインポートします:
import petl as etl import pandas as pd import cdata.esalesmanager as mod
接続文字列で接続を確立します。connect 関数を使って、CData e-Sales Manager Connector からe-Sales Manager への接続を行います
cnxn = mod.connect("User=MyUsername;Password=MyPassword;URL=MyInstanceURL;TenantId=MyTenantId;")
e-Sales Manager をクエリするSQL 文の作成
e-Sales Manager にはSQL でデータアクセスが可能です。Customer エンティティからのデータを読み出します。
sql = "SELECT Name, Address FROM Customer WHERE Address = 'CustomerAddress'"
e-Sales Manager Data のETL 処理
DataFrame に格納されたクエリ結果を使って、petl でExtract(取得)、Transform(加工)、Load(ロード)を組みます。この例では、e-Sales Manager data を取得して、Address カラムでデータをソートして、CSV ファイルにデータをロードします。
table1 = etl.fromdb(cnxn,sql) table2 = etl.sort(table1,'Address') etl.tocsv(table2,'customer_data.csv')
CData Python Connector for e-Sales Manager を使えば、データベースを扱う場合と同感覚で、e-Sales Manager data を扱うことができ、petl のようなETL パッケージから直接データにアクセスが可能になります。
製品の無償トライアル情報
e-Sales Manager Python Connector の30日の無償トライアル をぜひダウンロードして、e-Sales Manager data への接続をPython アプリやスクリプトから簡単に作成しましょう。
フルソースコード
import petl as etl import pandas as pd import cdata.esalesmanager as mod cnxn = mod.connect("User=MyUsername;Password=MyPassword;URL=MyInstanceURL;TenantId=MyTenantId;") sql = "SELECT Name, Address FROM Customer WHERE Address = 'CustomerAddress'" table1 = etl.fromdb(cnxn,sql) table2 = etl.sort(table1,'Address') etl.tocsv(table2,'customer_data.csv')