ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →CData
こんにちは!リードエンジニアの杉本です。
Embulk は、大量のデータをDB、クラウドデータストア、DWH にロードできるオープンソースETL ツールです。近頃のトレンドでは、1社で複数のオンプレアプリやSaaS を使っており、データ分析にはETL/ELT ツールを使ってデータを丸ごとDB/DWH にロードしてから、分析やビジュアライズをすることが主流になっています。Embulk には、いろいろなプラグインがあり、多様なInput とOutput 処理をサポートしています。この記事では、Embulk のJDBC Input Plugin と CData Driver for SAPHanaXSA を使って、SAP HANA XS Advanced のデータを簡単にDB にロードします。この例ではロード先のDB にはMySQL を使います。
embulk gem install embulk-input-jdbc
embulk gem install embulk-output-mysql
in:
type: jdbc
driver_path: C:\Program Files\CData\CData JDBC Driver for SAPHanaXSA 2019J\lib\cdata.jdbc.saphanaxsa.jar
driver_class: cdata.jdbc.saphanaxsa.SAPHanaXSADriver
url: jdbc:saphanaxsa:OAuthClientID=my-ouath-client-id;OAuthClientSecret=my-oauth-client-secret;URL=https://hxehost:51027/euro.xsodata;CallbackURL=http://localhost:33333;InitiateOAuth=REFRESH
table: ""
out:
type: mysql
host: localhost
database: DatabaseName
user: UserId
password: UserPassword
table: ""
mode: insert
SAP HANA XSA uses the OAuth authentication standard. Before connecting, it is necessary to establish an SAP HANA XSA OData Service. See the OAuth section in the Help documentation for a guide.
embulk run saphanaxsa-mysql.yml
ちなみに、上記の例ではテーブル名を直接指定しましたが、以下のようにSQL Queryを書いてもいいです。 Where句で作成日や修正日を指定すれば、最新のデータだけを対象にすることも可能です。
in:
type: jdbc
driver_path: C:\Program Files\CData\CData JDBC Driver for SAPHanaXSA 2019J\lib\cdata.jdbc.saphanaxsa.jar
driver_class: cdata.jdbc.saphanaxsa.SAPHanaXSADriver
url: jdbc:saphanaxsa:OAuthClientID=my-ouath-client-id;OAuthClientSecret=my-oauth-client-secret;URL=https://hxehost:51027/euro.xsodata;CallbackURL=http://localhost:33333;InitiateOAuth=REFRESH
query: "SELECT , FROM WHERE [RecordId] = 1"
out:
type: mysql
host: localhost
database: DatabaseName
user: UserId
password: UserPassword
table: ""
mode: insert
CData JDBC Driver for SAPHanaXSA をEmbulk で使うことで、SAP HANA XS Advanced コネクタとして機能し、簡単にデータを取得して同期することができました。ぜひ、30日の無償評価版をお試しください。