Technology Blog Posts by SAP
cancel
Showing results for 
Search instead for 
Did you mean: 
akaney
Product and Topic Expert
Product and Topic Expert
654

はじめに

SAP Business Data CloudではSAPのビジネスアプリケーション間のデータを共通のデータモデルとしてデータセットおよびセマンティック(項目名の用語や意味合い)を整え、SAP データプロダクトとして提供します。これによりSAPが管理の下でSAPのアプリケーションのデータは自動的にコピーされ、メタデータも併せてメンテナンスを行っていきますが、S/4HANAのアドオンテーブルやカスタムCDS view、SAP以外のデータソースなどお客様独自の要件データソースに対してはカスタムデータプロダクトを作成することで、同様のフレームワークに組み込むことが可能です。

これによってSAPアプリケーションのデータだけでなく、SAP以外のデータも整備しAIエージェントに必要なデータとして提供できるため、ダッシュボードでデータを可視化するだけではなく、Jouleを使いながら対話形式でさらなるデータ分析の深堀やインサイトを得るなどデータ活用の幅を広げることができます。

概要

本ブログではS/4HANA on-premiseから連携したCDS viewをベースとするカスタムデータプロダクトの作成を想定し解説いたします。SAP以外のデータソースが対象となる場合でも同様の手順でカスタムデータプロダクトの作成が可能です。

大まかなカスタムデータプロダクトの作成手順は以下の通りです。

00_全体.png

  1. オブジェクトストアへのデータ連携
  2. データ変換処理
  3. カスタムデータプロダクトの定義

オブジェクトストアへのデータ連携

こちらでは以下の手順でオブジェクトストア内のローカルテーブルにソースシステムからデータ連携をします。

  1. 複製フローの作成・実行
  2. マージタスクの実行

SAP Datasphereオブジェクトストア内にデータを連携するため、データビルダより複製フローの作成を行います。複製フローは選択したソースシステムから選択したターゲットシステムへのデータ複製を行うことが出来る機能です。データビルダに統合されたユーザインタフェースを使用してシンプルな射影とフィルタを使用した1:1の複製を作成でき、簡単な設定でソースシステムからターゲット システムへ大量データ複製を実現します。

複製フローの作成・実行

オブジェクトストアスペース内で「データビルダ」より「新規複製フロー」を選択します。

01.01_複製フロー選択.png

データソースを選択します。本ブログではS/4HANA on-premiseへの作成済みの接続を介して複製フローを作成します。

01.02_複製フロー接続選択.png

S/4HANAからの連携方法として、CDS viewを選択します。

01.03_cds view選択.png

以下のように1つの複製フローではソースシステムからターゲットシステムに対して並列処理で複数のオブジェクトを複製することが可能です。

01.04_cds view決める.png

今回はターゲットにオブジェクトストアのスペースを選択することで、ターゲットオブジェクトとして新規のローカルテーブルがオブジェクトストア内に作成されます。

また、複製フローではシンプルな射影やフィルタの追加や、初期ロードやデルタロードなどのロードタイプを選択することが可能です。

01.0_複製フローンお作成.png

複製フローにビジネス名と技術名を付けてデプロイ・実行することで、オブジェクトストア内にローカルテーブルが作成されます。

01.0_複製フローンデプロイ実行.png

マージタスクの実行

その後「マージタスク」という処理を通じてテーブルにそのデータを反映させます。
複製フローの実行によりソースシステムからオブジェクトストア内に作成された受信バッファにデータが書き込まれますが、ここからマージタスクを実行することでオブジェクトストア内のデルタテーブル(ローカルテーブル)にデータが挿入されます。


このマージタスクは、「データ統合モニタ」からそれぞれのテーブル毎に実行することもできますが、タスクチェーンの中に複数のテーブルに対するマージタスクを組み込むことで、複製フロー/変換フロー実行後にマージするなどのジョブ実行のスケジュールを組むことも可能です。

本ブログではタスクチェーンを作成し、5つのローカルテーブルに対してマージタスクを並列実行させるように構成します。

「データビルダ」より「新規タスクチェーン」を選択します。

02_タスクチェーンの作成.png

左側のリポジトリより「オブジェクトストアへのデータ連携」で作成したローカルテーブルをドラッグ&ドロップでタスクチェーンに追加します。

03_ソース選択.png その他ローカルテーブルや複製フロー/変換フローなどのオブジェクトをタスクチェーンの中に新規タスクあるいは並列タスクとして追加することが可能です。

04_新規タスク.png

アクティビティに「マージ」が選択されていることを確認し、タスクチェーンの作成・実行をします。
また、タスクチェーンの実行後に電子メールによる通知を設定することもできます。

05_タスク.png

タスクチェーンの実行状況はデータ統合モニタよりタスクチェーンのステータスや進捗を確認することができ、タスクチェーンのプロパティから直接移動することが可能です。

06_保存.png

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

07_モニタ.png

また、「ローカルテーブル(ファイル)」メニュー画面よりローカルテーブルごとの詳細を確認することができ、受信バッファからそれぞれのローカルテーブルにデータが書き込まれレコードが挿入されたことが確認できます。

08_モニタ2.png

「データビルダ」より複製フローで作成したターゲットテーブルを選択し、プレビューをするとデータが挿入されたことが確認できます。以上で、データソースからオブジェクトストア内にデータ連携が完了します。

01.05_プレビュー.png

このような形で複製フローを用いてデータ連携をすることで、オブジェクトストアを大量のデータを安価に保持するデータレイク領域として利用することができます。ローカルテーブルとして作成されたオブジェクトはスペースへと共有することで、ビューや分析モデルなど分析の用途のデータモデルとして活用することが出来ます。

データ変換処理

複製フローでローデータをオブジェクトストアにデータ抽出をした後には、データ変換や集計、計算列の追加などの処理を変換フローにて実現することも可能です。変換フローの中ではSQLやSQLスクリプト、Pythonによるデータ変換などを組み込むことが出来ます。

「データビルダ」より「新規変換フロー」を選択します。

09_変換フロー.png

変換フローでは中間ビューとしてグラフィックビューあるいはSQLビューを作成し、ソースからデータをロードしデータを変換します。今回はグラフィックビューによるデータ変換をおこなうため、「グラフィックビュー変換」を選択します。

10_ぐらふぃく.png

画面左側のリポジトリよりオブジェクトをドラッグ&ドロップでグラフィックビューエディタに追加をします。

11_テーブルの追加.png

結合などのデータ変換や集計、計算列の追加などを定義します。
グラフィックエディタから左上の「>(戻る)」を選択することで変換フローエディタへ遷移することが出来ます。

12_変換処理.png

変換処理がされたデータが書き込まれるターゲットテーブルを新規に作成するため、「新規ターゲットテーブルの作成」を選択します。リポジトリより既存のテーブルをターゲットテーブルとして追加することも可能です。

13_ターゲットテーブルの作成.png

変換フローおよびターゲットテーブルにビジネス名と技術名を付けてデプロイ・実行することで、変換処理されたデータがターゲットテーブルに挿入されます。変換フローの実行状況はデータ統合モニタよりタスクチェーンのステータスや進捗を確認することができ、変換フローのプロパティから直接移動することが可能です。

14_変換フロー実装.png

このように複製フローを用いてオブジェクトストアを大量のデータを安価に保持するデータレイク領域としてデータ抽出・保持ができるだけでなく、不要な列の削除や計算列の追加などクレンジングの変換処理を加え、分析用途で使える状態にした中間データもオブジェクトストアで保持することができます。

これらのデータソースから抽出したデータや、変換処理後のデータはメタデータと併せてカタログに情報が自動で登録され、管理されますが、カスタムデータプロダクトとしてカタログに公開することで対象のシステムに対してゼロコピーでデルタシェアによるデータの共有が可能です。

カスタムデータプロダクトの定義

カスタムデータプロダクトの定義は「データ共有コックピット」を利用して行います。

「データ共有コックピット」>「データプロバイダプロファイル」よりデータプロバイダーを作成します。この際に、「データプロバイダ/データプロダクトの表示/非表示」で「フォーメーション」を選択し、その他必要な情報を入力のうえ作成します。

16_プロファイルの作成.png

17_プロバイダーの家訓ん.png

データプロバイダの作成後、「データ共有コックピット」>「データプロダクト」よりデータプロダクトの作成をおこないます。

18_データプロダクトの定義.png

「アーティファクトスペース」を選択します。アーティファクトスペースでは通常のHANA Cloudスペースではなく、オブジェクトストアの領域より選択が可能です。

その他ビジネス名や技術名などを入力します。

19_定位1.png

「プロダクトアーティファクト」よりソースとなるオブジェクトをオブジェクトストアより選択し「変更を保存」することで、カスタムデータプロダクトを作成することが出来ます。

20_オブジェクトの選択2.png

カスタムデータプロダクトをカタログに公開するために、ライフサイクルステータスを「ドラフト」より「一覧表示済み」にステータスの切り替えを行います。これにより、作成したカスタムデータプロダクトがカタログ上に公開され、利用できるようになります。

21_リスティング.png22_リスティング.png

SAP Business Data Cloud Cockpitの「カタログおよびマーケットプレイス」よりアクセスすると、先ほど作成したカスタムデータプロダクトを検索・利用することができることを確認できます。

23_カタログ.png

データ共有コックピットで定義したカタログ情報などが確認できますが、「共有」を開始することで、対象システムとデータプロダクトをゼロコピーで利用することが出来るようになります。

24_カタログ確認.png

今回はSAP Databircksを共有先のターゲットシステムとして選択し、共有名などを入力します。

25_デルタシェア.png

共有が完了すると、カスタムデータプロダクトはSAP DatabircksのカタログであるUnity Catalogに登録され、ゼロコピーで利用することが出来るようになります。

26_デルタシェエア.png

さいごに

最後までご覧いただきありがとうございました!
本ブログではS/4HANA on-premiseのCDS viewをベースにオブジェクトストアへのデータ連携および変換、またカスタムデータプロダクトとして定義のうえカタログに公開することでSAP Databricksにおいて高度な機械学習シナリオで活用できるようになりました。

その他関連する情報をまとめておりますので、併せてご確認ください。