はじめに
SAP Business Data CloudではSAPのビジネスアプリケーション間のデータを共通のデータモデルとしてデータセットおよびセマンティック(項目名の用語や意味合い)を整え、SAP データプロダクトとして提供します。これによりSAPが管理の下でSAPのアプリケーションのデータは自動的にコピーされ、メタデータも併せてメンテナンスを行っていきますが、S/4HANAのアドオンテーブルやカスタムCDS view、SAP以外のデータソースなどお客様独自の要件データソースに対してはカスタムデータプロダクトを作成することで、同様のフレームワークに組み込むことが可能です。
これによってSAPアプリケーションのデータだけでなく、SAP以外のデータも整備しAIエージェントに必要なデータとして提供できるため、ダッシュボードでデータを可視化するだけではなく、Jouleを使いながら対話形式でさらなるデータ分析の深堀やインサイトを得るなどデータ活用の幅を広げることができます。
概要
本ブログではS/4HANA on-premiseから連携したCDS viewをベースとするカスタムデータプロダクトの作成を想定し解説いたします。SAP以外のデータソースが対象となる場合でも同様の手順でカスタムデータプロダクトの作成が可能です。
大まかなカスタムデータプロダクトの作成手順は以下の通りです。
- オブジェクトストアへのデータ連携
- データ変換処理
- カスタムデータプロダクトの定義
オブジェクトストアへのデータ連携
こちらでは以下の手順でオブジェクトストア内のローカルテーブルにソースシステムからデータ連携をします。
- 複製フローの作成・実行
- マージタスクの実行
SAP Datasphereオブジェクトストア内にデータを連携するため、データビルダより複製フローの作成を行います。複製フローは選択したソースシステムから選択したターゲットシステムへのデータ複製を行うことが出来る機能です。データビルダに統合されたユーザインタフェースを使用してシンプルな射影とフィルタを使用した1:1の複製を作成でき、簡単な設定でソースシステムからターゲット システムへ大量データ複製を実現します。
- オブジェクトストアの概要に関しては こちらのブログ(SAP Business Data Cloud: オブジェクトストア 入門編)をご確認ください。
- 複製フローの概要に関してはこちらのブログ(複製フローPart1: 複製フロー概要)をご確認ください。
複製フローの作成・実行
オブジェクトストアスペース内で「データビルダ」より「新規複製フロー」を選択します。
データソースを選択します。本ブログではS/4HANA on-premiseへの作成済みの接続を介して複製フローを作成します。
S/4HANAからの連携方法として、CDS viewを選択します。
以下のように1つの複製フローではソースシステムからターゲットシステムに対して並列処理で複数のオブジェクトを複製することが可能です。
今回はターゲットにオブジェクトストアのスペースを選択することで、ターゲットオブジェクトとして新規のローカルテーブルがオブジェクトストア内に作成されます。
また、複製フローではシンプルな射影やフィルタの追加や、初期ロードやデルタロードなどのロードタイプを選択することが可能です。
複製フローにビジネス名と技術名を付けてデプロイ・実行することで、オブジェクトストア内にローカルテーブルが作成されます。
マージタスクの実行
その後「マージタスク」という処理を通じてテーブルにそのデータを反映させます。
複製フローの実行によりソースシステムからオブジェクトストア内に作成された受信バッファにデータが書き込まれますが、ここからマージタスクを実行することでオブジェクトストア内のデルタテーブル(ローカルテーブル)にデータが挿入されます。
このマージタスクは、「データ統合モニタ」からそれぞれのテーブル毎に実行することもできますが、タスクチェーンの中に複数のテーブルに対するマージタスクを組み込むことで、複製フロー/変換フロー実行後にマージするなどのジョブ実行のスケジュールを組むことも可能です。
本ブログではタスクチェーンを作成し、5つのローカルテーブルに対してマージタスクを並列実行させるように構成します。
- タスクチェーンに関して詳細はこちらのSAP Helpページ(タスクチェーンの作成)をご確認ください。
「データビルダ」より「新規タスクチェーン」を選択します。
左側のリポジトリより「オブジェクトストアへのデータ連携」で作成したローカルテーブルをドラッグ&ドロップでタスクチェーンに追加します。
その他ローカルテーブルや複製フロー/変換フローなどのオブジェクトをタスクチェーンの中に新規タスクあるいは並列タスクとして追加することが可能です。
アクティビティに「マージ」が選択されていることを確認し、タスクチェーンの作成・実行をします。
また、タスクチェーンの実行後に電子メールによる通知を設定することもできます。
タスクチェーンの実行状況はデータ統合モニタよりタスクチェーンのステータスや進捗を確認することができ、タスクチェーンのプロパティから直接移動することが可能です。
詳細画面では実行に関するステータスやメトリクス、実行ログなどを確認できます。
また、「ローカルテーブル(ファイル)」メニュー画面よりローカルテーブルごとの詳細を確認することができ、受信バッファからそれぞれのローカルテーブルにデータが書き込まれレコードが挿入されたことが確認できます。
「データビルダ」より複製フローで作成したターゲットテーブルを選択し、プレビューをするとデータが挿入されたことが確認できます。以上で、データソースからオブジェクトストア内にデータ連携が完了します。
このような形で複製フローを用いてデータ連携をすることで、オブジェクトストアを大量のデータを安価に保持するデータレイク領域として利用することができます。ローカルテーブルとして作成されたオブジェクトはスペースへと共有することで、ビューや分析モデルなど分析の用途のデータモデルとして活用することが出来ます。
データ変換処理
複製フローでローデータをオブジェクトストアにデータ抽出をした後には、データ変換や集計、計算列の追加などの処理を変換フローにて実現することも可能です。変換フローの中ではSQLやSQLスクリプト、Pythonによるデータ変換などを組み込むことが出来ます。
- 変換フローの概要に関してはこちらのブログ(複製フローPart2 : デルタキャプチャと変換フロー)をご確認ください。
「データビルダ」より「新規変換フロー」を選択します。
変換フローでは中間ビューとしてグラフィックビューあるいはSQLビューを作成し、ソースからデータをロードしデータを変換します。今回はグラフィックビューによるデータ変換をおこなうため、「グラフィックビュー変換」を選択します。
画面左側のリポジトリよりオブジェクトをドラッグ&ドロップでグラフィックビューエディタに追加をします。
結合などのデータ変換や集計、計算列の追加などを定義します。
グラフィックエディタから左上の「>(戻る)」を選択することで変換フローエディタへ遷移することが出来ます。
変換処理がされたデータが書き込まれるターゲットテーブルを新規に作成するため、「新規ターゲットテーブルの作成」を選択します。リポジトリより既存のテーブルをターゲットテーブルとして追加することも可能です。
変換フローおよびターゲットテーブルにビジネス名と技術名を付けてデプロイ・実行することで、変換処理されたデータがターゲットテーブルに挿入されます。変換フローの実行状況はデータ統合モニタよりタスクチェーンのステータスや進捗を確認することができ、変換フローのプロパティから直接移動することが可能です。
このように複製フローを用いてオブジェクトストアを大量のデータを安価に保持するデータレイク領域としてデータ抽出・保持ができるだけでなく、不要な列の削除や計算列の追加などクレンジングの変換処理を加え、分析用途で使える状態にした中間データもオブジェクトストアで保持することができます。
これらのデータソースから抽出したデータや、変換処理後のデータはメタデータと併せてカタログに情報が自動で登録され、管理されますが、カスタムデータプロダクトとしてカタログに公開することで対象のシステムに対してゼロコピーでデルタシェアによるデータの共有が可能です。
カスタムデータプロダクトの定義
カスタムデータプロダクトの定義は「データ共有コックピット」を利用して行います。
- データ共有コックピットに関して詳細はこちらのSAP Helpページ(カスタムデルタ共有データプロダクトの作成)をご確認ください。
「データ共有コックピット」>「データプロバイダプロファイル」よりデータプロバイダーを作成します。この際に、「データプロバイダ/データプロダクトの表示/非表示」で「フォーメーション」を選択し、その他必要な情報を入力のうえ作成します。
データプロバイダの作成後、「データ共有コックピット」>「データプロダクト」よりデータプロダクトの作成をおこないます。
「アーティファクトスペース」を選択します。アーティファクトスペースでは通常のHANA Cloudスペースではなく、オブジェクトストアの領域より選択が可能です。
その他ビジネス名や技術名などを入力します。
「プロダクトアーティファクト」よりソースとなるオブジェクトをオブジェクトストアより選択し「変更を保存」することで、カスタムデータプロダクトを作成することが出来ます。
カスタムデータプロダクトをカタログに公開するために、ライフサイクルステータスを「ドラフト」より「一覧表示済み」にステータスの切り替えを行います。これにより、作成したカスタムデータプロダクトがカタログ上に公開され、利用できるようになります。
SAP Business Data Cloud Cockpitの「カタログおよびマーケットプレイス」よりアクセスすると、先ほど作成したカスタムデータプロダクトを検索・利用することができることを確認できます。
データ共有コックピットで定義したカタログ情報などが確認できますが、「共有」を開始することで、対象システムとデータプロダクトをゼロコピーで利用することが出来るようになります。
- 対象システムへのデルタシェアに関してはこちらのSAP Helpページ(他の SAP システムへのデータ製品の共有)をご確認ください。
今回はSAP Databircksを共有先のターゲットシステムとして選択し、共有名などを入力します。
共有が完了すると、カスタムデータプロダクトはSAP DatabircksのカタログであるUnity Catalogに登録され、ゼロコピーで利用することが出来るようになります。
さいごに
最後までご覧いただきありがとうございました!
本ブログではS/4HANA on-premiseのCDS viewをベースにオブジェクトストアへのデータ連携および変換、またカスタムデータプロダクトとして定義のうえカタログに公開することでSAP Databricksにおいて高度な機械学習シナリオで活用できるようになりました。
その他関連する情報をまとめておりますので、併せてご確認ください。
- オブジェクトストアでのデータの取得および準備
- 3538038 – SAP Datasphere オブジェクトストアの重要な考慮事項
- 変換フローの作成
- カスタムデルタ共有データプロダクトの作成
- 他の SAP システムへのデータ製品の共有
はじめにSAP Business Data CloudではSAPのビジネスアプリケーション間のデータを共通のデータモデルとしてデータセットおよびセマンティック(項目名の用語や意味合い)を整え、SAP データプロダクトとして提供します。これによりSAPが管理の下でSAPのアプリケーションのデータは自動的にコピーされ、メタデータも併せてメンテナンスを行っていきますが、S/4HANAのアドオンテーブルやカスタムCDS view、SAP以外のデータソースなどお客様独自の要件データソースに対してはカスタムデータプロダクトを作成することで、同様のフレームワークに組み込むことが可能です。これによってSAPアプリケーションのデータだけでなく、SAP以外のデータも整備しAIエージェントに必要なデータとして提供できるため、ダッシュボードでデータを可視化するだけではなく、Jouleを使いながら対話形式でさらなるデータ分析の深堀やインサイトを得るなどデータ活用の幅を広げることができます。概要本ブログではS/4HANA on-premiseから連携したCDS viewをベースとするカスタムデータプロダクトの作成を想定し解説いたします。SAP以外のデータソースが対象となる場合でも同様の手順でカスタムデータプロダクトの作成が可能です。大まかなカスタムデータプロダクトの作成手順は以下の通りです。オブジェクトストアへのデータ連携データ変換処理カスタムデータプロダクトの定義オブジェクトストアへのデータ連携こちらでは以下の手順でオブジェクトストア内のローカルテーブルにソースシステムからデータ連携をします。複製フローの作成・実行マージタスクの実行SAP Datasphereオブジェクトストア内にデータを連携するため、データビルダより複製フローの作成を行います。複製フローは選択したソースシステムから選択したターゲットシステムへのデータ複製を行うことが出来る機能です。データビルダに統合されたユーザインタフェースを使用してシンプルな射影とフィルタを使用した1:1の複製を作成でき、簡単な設定でソースシステムからターゲット システムへ大量データ複製を実現します。オブジェクトストアの概要に関しては こちらのブログ(SAP Business Data Cloud: オブジェクトストア 入門編)をご確認ください。複製フローの概要に関してはこちらのブログ(複製フローPart1: 複製フロー概要)をご確認ください。複製フローの作成・実行オブジェクトストアスペース内で「データビルダ」より「新規複製フロー」を選択します。データソースを選択します。本ブログではS/4HANA on-premiseへの作成済みの接続を介して複製フローを作成します。S/4HANAからの連携方法として、CDS viewを選択します。以下のように1つの複製フローではソースシステムからターゲットシステムに対して並列処理で複数のオブジェクトを複製することが可能です。今回はターゲットにオブジェクトストアのスペースを選択することで、ターゲットオブジェクトとして新規のローカルテーブルがオブジェクトストア内に作成されます。また、複製フローではシンプルな射影やフィルタの追加や、初期ロードやデルタロードなどのロードタイプを選択することが可能です。複製フローにビジネス名と技術名を付けてデプロイ・実行することで、オブジェクトストア内にローカルテーブルが作成されます。マージタスクの実行その後「マージタスク」という処理を通じてテーブルにそのデータを反映させます。複製フローの実行によりソースシステムからオブジェクトストア内に作成された受信バッファにデータが書き込まれますが、ここからマージタスクを実行することでオブジェクトストア内のデルタテーブル(ローカルテーブル)にデータが挿入されます。このマージタスクは、「データ統合モニタ」からそれぞれのテーブル毎に実行することもできますが、タスクチェーンの中に複数のテーブルに対するマージタスクを組み込むことで、複製フロー/変換フロー実行後にマージするなどのジョブ実行のスケジュールを組むことも可能です。本ブログではタスクチェーンを作成し、5つのローカルテーブルに対してマージタスクを並列実行させるように構成します。タスクチェーンに関して詳細はこちらのSAP Helpページ(タスクチェーンの作成)をご確認ください。「データビルダ」より「新規タスクチェーン」を選択します。左側のリポジトリより「オブジェクトストアへのデータ連携」で作成したローカルテーブルをドラッグ&ドロップでタスクチェーンに追加します。 その他ローカルテーブルや複製フロー/変換フローなどのオブジェクトをタスクチェーンの中に新規タスクあるいは並列タスクとして追加することが可能です。アクティビティに「マージ」が選択されていることを確認し、タスクチェーンの作成・実行をします。また、タスクチェーンの実行後に電子メールによる通知を設定することもできます。タスクチェーンの実行状況はデータ統合モニタよりタスクチェーンのステータスや進捗を確認することができ、タスクチェーンのプロパティから直接移動することが可能です。詳細画面では実行に関するステータスやメトリクス、実行ログなどを確認できます。また、「ローカルテーブル(ファイル)」メニュー画面よりローカルテーブルごとの詳細を確認することができ、受信バッファからそれぞれのローカルテーブルにデータが書き込まれレコードが挿入されたことが確認できます。「データビルダ」より複製フローで作成したターゲットテーブルを選択し、プレビューをするとデータが挿入されたことが確認できます。以上で、データソースからオブジェクトストア内にデータ連携が完了します。このような形で複製フローを用いてデータ連携をすることで、オブジェクトストアを大量のデータを安価に保持するデータレイク領域として利用することができます。ローカルテーブルとして作成されたオブジェクトはスペースへと共有することで、ビューや分析モデルなど分析の用途のデータモデルとして活用することが出来ます。データ変換処理複製フローでローデータをオブジェクトストアにデータ抽出をした後には、データ変換や集計、計算列の追加などの処理を変換フローにて実現することも可能です。変換フローの中ではSQLやSQLスクリプト、Pythonによるデータ変換などを組み込むことが出来ます。変換フローの概要に関してはこちらのブログ(複製フローPart2 : デルタキャプチャと変換フロー)をご確認ください。「データビルダ」より「新規変換フロー」を選択します。変換フローでは中間ビューとしてグラフィックビューあるいはSQLビューを作成し、ソースからデータをロードしデータを変換します。今回はグラフィックビューによるデータ変換をおこなうため、「グラフィックビュー変換」を選択します。画面左側のリポジトリよりオブジェクトをドラッグ&ドロップでグラフィックビューエディタに追加をします。結合などのデータ変換や集計、計算列の追加などを定義します。グラフィックエディタから左上の「>(戻る)」を選択することで変換フローエディタへ遷移することが出来ます。変換処理がされたデータが書き込まれるターゲットテーブルを新規に作成するため、「新規ターゲットテーブルの作成」を選択します。リポジトリより既存のテーブルをターゲットテーブルとして追加することも可能です。変換フローおよびターゲットテーブルにビジネス名と技術名を付けてデプロイ・実行することで、変換処理されたデータがターゲットテーブルに挿入されます。変換フローの実行状況はデータ統合モニタよりタスクチェーンのステータスや進捗を確認することができ、変換フローのプロパティから直接移動することが可能です。このように複製フローを用いてオブジェクトストアを大量のデータを安価に保持するデータレイク領域としてデータ抽出・保持ができるだけでなく、不要な列の削除や計算列の追加などクレンジングの変換処理を加え、分析用途で使える状態にした中間データもオブジェクトストアで保持することができます。これらのデータソースから抽出したデータや、変換処理後のデータはメタデータと併せてカタログに情報が自動で登録され、管理されますが、カスタムデータプロダクトとしてカタログに公開することで対象のシステムに対してゼロコピーでデルタシェアによるデータの共有が可能です。カスタムデータプロダクトの定義カスタムデータプロダクトの定義は「データ共有コックピット」を利用して行います。データ共有コックピットに関して詳細はこちらのSAP Helpページ(カスタムデルタ共有データプロダクトの作成)をご確認ください。「データ共有コックピット」>「データプロバイダプロファイル」よりデータプロバイダーを作成します。この際に、「データプロバイダ/データプロダクトの表示/非表示」で「フォーメーション」を選択し、その他必要な情報を入力のうえ作成します。データプロバイダの作成後、「データ共有コックピット」>「データプロダクト」よりデータプロダクトの作成をおこないます。「アーティファクトスペース」を選択します。アーティファクトスペースでは通常のHANA Cloudスペースではなく、オブジェクトストアの領域より選択が可能です。その他ビジネス名や技術名などを入力します。「プロダクトアーティファクト」よりソースとなるオブジェクトをオブジェクトストアより選択し「変更を保存」することで、カスタムデータプロダクトを作成することが出来ます。カスタムデータプロダクトをカタログに公開するために、ライフサイクルステータスを「ドラフト」より「一覧表示済み」にステータスの切り替えを行います。これにより、作成したカスタムデータプロダクトがカタログ上に公開され、利用できるようになります。SAP Business Data Cloud Cockpitの「カタログおよびマーケットプレイス」よりアクセスすると、先ほど作成したカスタムデータプロダクトを検索・利用することができることを確認できます。データ共有コックピットで定義したカタログ情報などが確認できますが、「共有」を開始することで、対象システムとデータプロダクトをゼロコピーで利用することが出来るようになります。対象システムへのデルタシェアに関してはこちらのSAP Helpページ(他の SAP システムへのデータ製品の共有)をご確認ください。今回はSAP Databircksを共有先のターゲットシステムとして選択し、共有名などを入力します。共有が完了すると、カスタムデータプロダクトはSAP DatabircksのカタログであるUnity Catalogに登録され、ゼロコピーで利用することが出来るようになります。さいごに最後までご覧いただきありがとうございました!本ブログではS/4HANA on-premiseのCDS viewをベースにオブジェクトストアへのデータ連携および変換、またカスタムデータプロダクトとして定義のうえカタログに公開することでSAP Databricksにおいて高度な機械学習シナリオで活用できるようになりました。その他関連する情報をまとめておりますので、併せてご確認ください。オブジェクトストアでのデータの取得および準備 3538038 – SAP Datasphere オブジェクトストアの重要な考慮事項変換フローの作成カスタムデルタ共有データプロダクトの作成他の SAP システムへのデータ製品の共有 Read More Technology Blog Posts by SAP articles
#SAPCHANNEL