Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
akaney
Product and Topic Expert
Product and Topic Expert
708

はじめに


**本ブログはこちらのブログを参考に書かれたものです。

全5回のシリーズでご紹介していく予定です。
このブログは、Part1 複製フロー概要についてご紹介します。

Part 1 : 複製フロー概要(本ブログ)

Part 2 : デルタキャプチャと変換フロー

Part3: Google BigQueryをターゲットとした複製フロー

Part4: Amazon S3をターゲットとした複製フロー

Part 5: 複製フローのサイジング

SAP Datasphereはデータランドスケープをシンプル化し全ての利用者に意義のあるデータを届けるだけでなく、データに含まれるビジネスロジックとコンテキストを維持することでデータの価値を引き出すビジネスデータファブリックの構築を実現します。

本ブログでご紹介する複製フローはそのビジネスデータファブリックの実現に欠かせない役割を果たす機能の1つであり、データの抽出や複製によって失われがちなビジネスコンテキストを1から再構築する必要をなくし、信頼性の高いデータをご利用頂くことを可能とします。(参考:データファブリックとは?

概要

複製フローは選択したソースシステムから選択したターゲットシステムへのデータ複製を行うことが出来る機能です。データビルダに統合されたユーザインタフェースを使用してシンプルな射影とフィルタを使用した1:1の複製を作成できます。データの複製は初期ロードおよび差分ロードのサポートをしており、データ統合モニタを使用して監視を行うことが可能です。

SAPおよびSAP以外のクラウドストレージプロバイダなどをソースあるいはターゲットとして使用することも可能で、下記がサポートされている主な製品です。詳細はこちらのSAP Help Portalよりご確認ください。

ソース接続

    • SAP S/4HANA (クラウド, オンプレミス)
    • SAP Business Suite
    • SAP BW, BW/4HANA
    • SAP Datasphere
    • SAP HANA (クラウド, オンプレミス)
    • Azure SQL database など

ターゲット接続

    • SAP Datasphere
    • SAP HANA (クラウド, オンプレミス)
    • SAP HANA Data Lake Files (HDL-Files)
    • Google BigQuery
    • Google Cloud Storage
    • Amazon Simple Storage (AWS S3)
    • Azure Data Lake Generation 2
    • Apache Kafka など


複製フローの作成、デプロイ、および実行をするには考慮するべきいくつかの事項や制限があります。こちらのSAP Noteに詳細がまとめられていますのでご確認ください。(3297105 - SAP Datasphere 複製フローに関する重要な考慮事項

複製フローの作成

複製フローの作成は、グラフィカルビューやSQLビューの作成と同様にSAP Datasphereのデータビルダを利用します。次のパスで新規複製フローを作成すると、空のキャンバスが表示されます。(データビルダ>フロー>新規複製フロー)

まず初めに「ソース接続選択」よりソースシステムを選択します。ここでは、スペース内に存在するソースとして利用可能な接続の一覧が表示されるので、使用するものを選択します。こちらより、ソースとして使用可能な接続タイプの概要をご確認頂けます。

本ブログではSAP S/4HANA Cloudの接続を選択しますが、ソース接続としてSAP Datasphereを選択することも可能です。その場合、ソースコンテナは現在のスペースとして定義されます。

接続の選択後、「ソースコンテナ選択」メニューより複製を行うソースコンテナの選択を行います。


ソースコンテナの定義は使用するソースシステムによって異なります。以下は複製フローがサポートしている主な例です。

    • SAP S/4HANA CloudあるいはMicrosoft Azure SQLといったデータベーシステムの場合、コンテナはアクセス可能なデータセットを意味します。
    • SAP ABAP ベースシステムの場合、以下のような論理的なオブジェクトを指します。

        • CDS:SAP S/4HANAに含まれる階層構造を含むCDSベースの複製

        • CDS_EXTRACTION:SAP S/4HANAのCDSベースの複製(階層構造を含まない)

        • ODP_BW & ODP_SAPI for ODP:SAPソースからのODPベースの複製

        • SLT:事前に設定されたSLTを介したSAPソ-スシステムからのテーブルレベルの複製

さいごに「ソースオブジェクト追加」よりオブジェクトを選択します。オブジェクトは複数選択することが可能です。

「次」に進むと、選択されたソースオブジェクトが一覧で確認できます。

選択したオブジェクトを確認し「選択を追加」に進むと、以下のように選択されたオブジェクトの一覧が確認できます。

次に、ターゲット接続を選択します。こちらでは、スペース内に存在するターゲットとして利用可能な接続の一覧が表示されます。こちらより、ターゲットとして使用可能な接続タイプの概要をご確認頂けます。

ターゲット接続を追加するとターゲットオブジェクトが表示されます。これらターゲットオブジェクト名の変更や既存のターゲットオブジェクトへマッピングする場合はターゲットオブジェクト横の「…」から編集が可能です。

今回のようにローカルレポジトリ(SAP Datasphere)に複製する場合、ターゲットコンテナは現在のスペースとして定義され、データはローカルテーブルに複製されます。このブログの作成時点では別のスペースをターゲットとして複製フローを作成することはサポートされていません。

注記:場合によってはターゲットオブジェクトに含まれる列数がソースオブジェクトと等しくない場合があり、これは追加したソースオブジェクトにSAP Datasphereではサポートされていないデータ型をもつ列が含まれていることが原因として考えられます。詳細は次のSAP Noteをご確認ください。(3297105 – SAP Datasphere 複製フローに関する重要な考慮事項

「設定」メニューを開けると、複製フローに関するロードタイプの選択が出来ます。

    • 初期のみ: 選択したすべてのデータを 1 回ロードします。
    • 初期およびデルタ: 初期ロード後、ソースデータ変更 (デルタ) が一定間隔でチェックされ、変更がターゲットにコピーされます。デフォルト値は60分ですが、画面右側の詳細パネルよりデルタロード間隔を変更可能です。(*)

(*)本ブログ作成時点(2023年11月)ではデルタのチェック頻度は60分ごとですが、2023年Q4にリアルタイムの連携が可能となる予定です(ロードマップ)。 → 正式リリースとなりました!

2024-02-16_13-37-03.png

「切り詰め(Truncate)」はターゲットテーブルが既に存在する場合に適用され、ターゲットテーブル内のデータを削除した後にデータをロードすることが出来ます。切り詰めを選択しない場合は、ターゲットテーブル内の既存データに新規レコードが追加されます。

ソースオブジェクトを選択すると、射影の「追加」が可能です。

フィルタの定義では項目ごとに値を入力し、条件を指定することが出来ます。

使用できるオプションは選択した項目のデータ型によって異なり、以下のような整数フィールドでは「と等しい」「より大きい」といった演算子を使用して数値を入力することが出来ます。文字列のフィールドでは「等しい」を選択して値を入力することが出来ます。

フィルタの定義では複数の定義を加えることが可能です。その場合、同じ列に対して複数のフィルタを追加するとOR演算子が適用され、異なる列に対して複数フィルタを加えるとAND演算子が適用されます。

上記の例では販売組織が1510、製品名がIF12あるいはTG11に該当するデータだけを複製するようフィルタを追加しました。画面下部の「フィルタ式」では入力した条件がどのように連携されるのかを確認できます。

また、マッピングの定義ではソースデータがターゲットオブジェクトに移動する過程でどのように変更されるかを指定できます。

例えばデフォルトではソース列名が自動的にターゲット列名にマッピングされていますが、こちらのメニューでデフォルトのターゲット列名を上書きすることが可能です。その他にもデータ型の変更や新しい列の追加、列の削除などが可能です。

フィルタおよびマッピングの追加後はこの射影に名前を付けて保存します。今回はフィルタのみを追加したので「フィルタ」と名前を付けました。

左上の「保存」ボタンをクリックし、複製フローにビジネス名と技術名を付けて保存します。今回は同一の名前を入力しましたが、ビジネス名と技術名は必要に応じて異なる名称を付けることが出来ます。

保存が完了すると「デプロイ」を実行し、複製フローが実行可能な状態にします。


デプロイメントの過程では複製フローを実行するのに必要な前提条件が満たされているかチェックされます。デプロイメントが正常に終了すると複製フローの「実行」を始めることが可能です。

複製フローの監視

データ統合モニタ内のフローモニタでは、スペース毎に配置された全てのフロー(データフロー、複製フローおよび変換フロー)の実行および実行詳細の表示と監視をすることが出来ます。

フローモニタへは次のパス(「データ統合モニタ」>「フロー」>「複製フロー」)でも遷移出来ますが、複製フローを作成したデータビルダ内から直接移動することも可能です。

フローモニタでは、以下のようにスペース内に作成されている複製フローの一覧が確認できます。それぞれのフローの実行詳細を表示するには画面右側の「>」から移動できます。

詳細画面では実行に関するステータスやメトリクス、実行ログなどを確認できます。

正常終了した場合はフローで使用されたソーステーブルとターゲットテーブルのレコード数がメトリクスにより表示されます。また、実行に失敗した場合は、エラーメッセージの横にある詳細表示をクリックするとエラーについての情報を確認できます。

左上の「実行」ボタンからフローの実行を開始したり、データビルダへ移動することも可能です。フロー実行時にエラーが発生した場合のエラー分析の際には画面右上のダウンロードボタンから実行詳細をJSONファイルでダウンロードすることも可能です。

さいごに

最後までご覧いただきありがとうございました!

本ブログでは複製フローの概要についてご紹介しましたが、全5回に分けてご紹介しております。そちらも併せてご確認頂けますと嬉しいです!

Part 1 : 複製フロー概要(本ブログ)

Part 2 : デルタキャプチャと変換フロー

Part3: Google BigQueryをターゲットとした複製フロー

Part4: Amazon S3をターゲットとした複製フロー

Part 5: 複製フローのサイジング

以下に関連するSAP Help PortalおよびSAP Noteを記載していますので、併せてご確認ください。

SAP Help Portal


SAP Note