**本ブログはこちらのブログを参考に書かれたものです。
SAP Datasphereはデータランドスケープをシンプル化し全ての利用者に意義のあるデータを届けるだけでなく、データに含まれるビジネスロジックとコンテキストを維持することでデータの価値を引き出すビジネスデータファブリックの構築を実現します。
本ブログでご紹介する複製フローはそのビジネスデータファブリックの実現に欠かせない役割を果たす機能の1つであり、データの抽出や複製によって失われがちなビジネスコンテキストを1から再構築する必要をなくし、信頼性の高いデータをご利用頂くことを可能とします。(参考:データファブリックとは?)
複製フローは選択したソースシステムから選択したターゲットシステムへのデータ複製を行うことが出来る機能です。データビルダに統合されたユーザインタフェースを使用してシンプルな射影とフィルタを使用した1:1の複製を作成できます。データの複製は初期ロードおよび差分ロードのサポートをしており、データ統合モニタを使用して監視を行うことが可能です。
SAPおよびSAP以外のクラウドストレージプロバイダなどをソースあるいはターゲットとして使用することも可能で、下記がサポートされている主な製品です。詳細はこちらのSAP Help Portalよりご確認ください。
ソース接続
ターゲット接続
複製フローの作成、デプロイ、および実行をするには考慮するべきいくつかの事項や制限があります。こちらのSAP Noteに詳細がまとめられていますのでご確認ください。(3297105 – SAP Datasphere 複製フローに関する重要な考慮事項)
複製フローの作成は、グラフィカルビューやSQLビューの作成と同様にSAP Datasphereのデータビルダを利用します。次のパスで新規複製フローを作成すると、空のキャンバスが表示されます。(データビルダ>フロー>新規複製フロー)
まず初めに「ソース接続選択」よりソースシステムを選択します。ここでは、スペース内に存在するソースとして利用可能な接続の一覧が表示されるので、使用するものを選択します。こちらより、ソースとして使用可能な接続タイプの概要をご確認頂けます。
本ブログではSAP S/4HANA Cloudの接続を選択しますが、ソース接続としてSAP Datasphereを選択することも可能です。その場合、ソースコンテナは現在のスペースとして定義されます。
接続の選択後、「ソースコンテナ選択」メニューより複製を行うソースコンテナの選択を行います。
ソースコンテナの定義は使用するソースシステムによって異なります。以下は複製フローがサポートしている主な例です。
さいごに「ソースオブジェクト追加」よりオブジェクトを選択します。オブジェクトは複数選択することが可能です。
「次」に進むと、選択されたソースオブジェクトが一覧で確認できます。
選択したオブジェクトを確認し「選択を追加」に進むと、以下のように選択されたオブジェクトの一覧が確認できます。
次に、ターゲット接続を選択します。こちらでは、スペース内に存在するターゲットとして利用可能な接続の一覧が表示されます。こちらより、ターゲットとして使用可能な接続タイプの概要をご確認頂けます。
ターゲット接続を追加するとターゲットオブジェクトが表示されます。これらターゲットオブジェクト名の変更や既存のターゲットオブジェクトへマッピングする場合はターゲットオブジェクト横の「…」から編集が可能です。
今回のようにローカルレポジトリ(SAP Datasphere)に複製する場合、ターゲットコンテナは現在のスペースとして定義され、データはローカルテーブルに複製されます。このブログの作成時点では別のスペースをターゲットとして複製フローを作成することはサポートされていません。
注記:場合によってはターゲットオブジェクトに含まれる列数がソースオブジェクトと等しくない場合があり、これは追加したソースオブジェクトにSAP Datasphereではサポートされていないデータ型をもつ列が含まれていることが原因として考えられます。詳細は次のSAP Noteをご確認ください。(3297105 – SAP Datasphere 複製フローに関する重要な考慮事項)
「設定」メニューを開けると、複製フローに関するロードタイプの選択が出来ます。
(*)本ブログ作成時点(2023年11月)ではデルタのチェック頻度は60分ごとですが、2023年Q4にリアルタイムの連携が可能となる予定です(ロードマップ)。
「切り詰め(Truncate)」はターゲットテーブルが既に存在する場合に適用され、ターゲットテーブル内のデータを削除した後にデータをロードすることが出来ます。切り詰めを選択しない場合は、ターゲットテーブル内の既存データに新規レコードが追加されます。
ソースオブジェクトを選択すると、射影の「追加」が可能です。
フィルタの定義では項目ごとに値を入力し、条件を指定することが出来ます。
使用できるオプションは選択した項目のデータ型によって異なり、以下のような整数フィールドでは「と等しい」「より大きい」といった演算子を使用して数値を入力することが出来ます。文字列のフィールドでは「等しい」を選択して値を入力することが出来ます。
フィルタの定義では複数の定義を加えることが可能です。その場合、同じ列に対して複数のフィルタを追加するとOR演算子が適用され、異なる列に対して複数フィルタを加えるとAND演算子が適用されます。
上記の例では販売組織が1510、製品名がIF12あるいはTG11に該当するデータだけを複製するようフィルタを追加しました。画面下部の「フィルタ式」では入力した条件がどのように連携されるのかを確認できます。
また、マッピングの定義ではソースデータがターゲットオブジェクトに移動する過程でどのように変更されるかを指定できます。
例えばデフォルトではソース列名が自動的にターゲット列名にマッピングされていますが、こちらのメニューでデフォルトのターゲット列名を上書きすることが可能です。その他にもデータ型の変更や新しい列の追加、列の削除などが可能です。
フィルタおよびマッピングの追加後はこの射影に名前を付けて保存します。今回はフィルタのみを追加したので「フィルタ」と名前を付けました。
左上の「保存」ボタンをクリックし、複製フローにビジネス名と技術名を付けて保存します。今回は同一の名前を入力しましたが、ビジネス名と技術名は必要に応じて異なる名称を付けることが出来ます。
保存が完了すると「デプロイ」を実行し、複製フローが実行可能な状態にします。
デプロイメントの過程では複製フローを実行するのに必要な前提条件が満たされているかチェックされます。デプロイメントが正常に終了すると複製フローの「実行」を始めることが可能です。
データ統合モニタ内のフローモニタでは、スペース毎に配置された全てのフロー(データフロー、複製フローおよび変換フロー)の実行および実行詳細の表示と監視をすることが出来ます。
フローモニタへは次のパス(「データ統合モニタ」>「フロー」>「複製フロー」)でも遷移出来ますが、複製フローを作成したデータビルダ内から直接移動することも可能です。
フローモニタでは、以下のようにスペース内に作成されている複製フローの一覧が確認できます。それぞれのフローの実行詳細を表示するには画面右側の「>」から移動できます。
詳細画面では実行に関するステータスやメトリクス、実行ログなどを確認できます。
正常終了した場合はフローで使用されたソーステーブルとターゲットテーブルのレコード数がメトリクスにより表示されます。また、実行に失敗した場合は、エラーメッセージの横にある詳細表示をクリックするとエラーについての情報を確認できます。
左上の「実行」ボタンからフローの実行を開始したり、データビルダへ移動することも可能です。フロー実行時にエラーが発生した場合のエラー分析の際には画面右上のダウンロードボタンから実行詳細をJSONファイルでダウンロードすることも可能です。
最後までご覧いただきありがとうございました!
本ブログでは複製フローの概要についてご紹介しました。また、複製フロー関連シリーズとして変換フローや外部ソースをターゲットとした複製フローに関するブログも近日公開予定です。そちらも併せてご確認頂けますと嬉しいです!
以下に関連するSAP Help PortalおよびSAP Noteを記載していますので、併せてご確認ください。
SAP Help Portal
SAP Note