
こんにちは。CData Software Japan マーケティング・パートナーサクセス マネージャーの杉本です。
SAP Business Data Cloud のSAP Datasphere にデータパイプラインツール「CData Sync」を利用して、データをレプリケーションする方法を紹介したいと思います。
SAP Datasphere とは?
SAP Datasphere はSAP Business Data Cloud の中の中核サービスの一つであるデータ統合基盤です。
SAP を含めた企業が持つ各種データを業務部門が扱いやすくするための、データ収集、メタデータ整備、データモデリングなど、データマネジメント・データファブリックの各機能を網羅したプラットフォームになっています。
https://www.sap.com/japan/products/data-cloud/datasphere.html

外部からデータを取り込む機能も充実しており、SAP ERP はもちろんのことながら、Azure Data Lake Storage や Google Cloud Storage といったデータレイクやBigQuery などのDWH からもデータと取り込み、リモートテーブル(仮想テーブル)などとして利用することが可能になっています。

しかしながら、Salesforce やDynamics 365 といったCRM・SFA のサービスやkintone などの国産クラウドサービスからのデータ取り込みには現状対応していません。
そこで、今回の記事ではデータパイプラインツールのCData Sync を利用して、Salesforce など様々なクラウドサービスやRDB のデータをSAP Datasphere に取り込み、活用する方法を紹介します。
https://www.cdata.com/jp/sync/

連携ポイント
SAP Datasphere ではデータの管理領域として、「スペース」「OpenSQL スキーマ」の2種類が存在します。
CData Sync のような外部のETL ツールと連携する場合は、「OpenSQL スキーマ」のスペースに一度データを登録してから、実際にユーザーがモデリングなどで利用する「スペース」でデータを取り扱います。
https://help.sap.com/docs/SAP_DATASPHERE/be5967d099974c69b77f4549425ca4c0/3de55a78a4614deda589633baea28645.html

OpenSQL スキーマにはSAP HANA のプロトコルベースで接続することができるので、このインターフェースを通じてCData Sync からデータの書き込みを実現します。
スペースの作成
それではまず事前準備として、今回のデータを取り込む先のスペースを作成しましょう。すでに連携したいスペースがある場合は、この手順は不要です。
SAP Datasphere の画面にログインし、「スペース管理」に移動し、「作成をクリックします。」

スペースは任意の名前で作成しましょう。今回は「CDATASYNCSPACE」としました。

データベースユーザの作成
スペースを作成したら、OpenSQL スキーマに接続するための「データベースユーザ」を作成します。
「データベースアクセス」タブにある「データベースユーザ」の一覧から「作成」をクリックします。

任意の「データベースユーザ名の接尾辞」を設定し、権限としてユーザのOpen SQL スキーマに対する書き込みアクセスにある「書き込みアクセスを有効化(SQL、DDL、およびDML)」を付与します。

作成後、「保存」「デプロイ」を実行して、データベースユーザを有効化します。

デプロイが完了したら接続情報を確認しましょう。作成したデータベースユーザのインフォメーションボタンをクリックし

CData Sync から接続するために、以下の情報を控えておきます。パスワードは「新しいパスワードを申請」をクリックして、取得しておきましょう。

IP 許可リストにCData Sync の接続元IP アドレスを追加
他のサービスからデータベースユーザを利用するためには、接続元のサービスのIP アドレスを事前に登録しておく必要があります。
SAP Datasphere 管理画面の「システム」→「設定」に移動し

「IP 許可リスト」から「追加」をクリックします。

ここでCData Sync をホスティングしているIP アドレスを追加しましょう。今回はローカルマシンから接続するので、私の利用しているIP アドレスを登録しました。

CData Sync のセットアップ
それではCData Sync の準備を進めていきましょう。
以下のURL からトライアル環境を入手します。今回は私のデスクトップマシンにセルフホストして利用しました。
https://www.cdata.com/jp/sync/trial/

接続の追加
CData Sync のインストールが完了したらブラウザから管理画面にログインします。

まずは、SAP Datasphere への接続を追加しましょう。「接続」→「+接続を追加」をクリックし

「同期先」から「SAP HANA」を選択します。

ここで事前に作成しておいたデータベースユーザの接続情報を使って、接続します。
プロパティ名
|
入力例
|
備考
|
Server
|
XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXX.hana.prod-jp10.hanacloud.ondemand.com
|
ホスト名を入力します。
|
Port
|
443
|
ポート番号の443を入力します。
|
Auth Scheme
|
Password
|
|
User
|
CDATASYNCSPACE#SYNCUSER
|
データベースユーザ名を入力します。
|
Password
|
PASSWORD
|
申請したパスワードを入力します。
|
Schema
|
CDATASYNCSPACE#SYNCUSER
|
Open SQL スキーマ名を入力します。
|
Use SSL
|
True
|
SSL を利用するのでTrue を設定します。
|

これで接続が保存でき、接続テストが成功すればOKです。
合わせてデータソースとして、Salesforce への接続も追加しておきましょう。

今回は詳しい手順は割愛します。他のデータソースを利用しても大丈夫です。

ジョブの作成
接続の作成が完了したら、ジョブを追加します。
「ジョブ」→「+ジョブを追加」→「新しいジョブを追加」をクリックします。

ここで任意のジョブの名前と、先ほど作成したデータソースと、同期先にSAP Datasphere の接続を選択し、ジョブを追加します。

ジョブを作成したら、どのテーブルをレプリケーションするのか? を指定するために「タスク」を追加します。
「タスク」から「+タスクを追加」をクリックします。

以下のようにデータソースで利用可能なテーブルおよびビューが表示されるので、レプリケーションしたいデータを選択します。

手動でジョブを実行
タスクの登録が完了したら、ジョブを実行してみましょう。
今回は手動でジョブを実行しますが、通常はスケジュールを設定して実行します。
タスクの一覧からレプリケーションしたいタスクを選択し、「実行」をクリックします。

しばらく待つと、以下のように結果が表示されます。うまくレプリケーションが完了したようです。

データベースエクスプローラーで参照
それでは実際にOpen SQL スキーマにデータが登録されているのか確認してみましょう。
SAP Datasphere のデータベースユーザの画面から先程作成したユーザを選択し「データベースエクスプローラを開く」をクリックします。

最初に新しいインスタンスへの接続設定画面が表示されるので、作成したデータベースユーザのUser・Password を指定して、コネクションを確立します。

作成したインスタンスのコネクションを開いて、「Tables」を選択すると、先程レプリケーションした対象のデータを格納するためのテーブルが作成されていることがわかります。

「Open Data」をクリックするとデータが参照できます。うまくレプリケーションできましたね!

あとは、データビルダでソースとして、先程のOpen SQL スキーマからデータを参照して、モデリングで利用できるようになります。

おわりに
このようにCData Sync を利用することで、SAP Datasphere へ手軽に外部の様々なデータを取り込むことができます。
今回はSalesforce を例として説明しましたが、他にも様々なSaaS やRDB などに対応しているので、ぜひ自社のデータの種類に合わせて試してみてください。
不明な点や使い方で気になることがあれば、お問い合わせまでお気軽にご連絡ください。
お問い合わせ | CData Software Japan
関連コンテンツ