Azure Data Factory 内の SAP CDC コネクタまたは Azure Synapse Analytics を使用して SAP ODP ソースからデータを変換する

適用対象: Azure Data Factory Azure Synapse Analytics

ヒント

企業向けのオールインワン分析ソリューション、Microsoft Fabric の Data Factory をお試しください。 Microsoft Fabric は、データ移動からデータ サイエンス、リアルタイム分析、ビジネス インテリジェンス、レポートまで、あらゆるものをカバーしています。 無料で新しい試用版を開始する方法について説明します。

この記事では、SAP CDC コネクタを使用して、SAP ODP ソースからデータを変換するためにマッピング データ フローを使用する方法について概要を説明します。 詳細については、Azure Data Factory または Azure Synapse Analytics の概要記事を参照してください。 Azure Data Factory および Azure Synapse 分析を使用したデータ変換の概要については、「マッピング データ フロー」または「マッピング データ フローのチュートリアル」をお読みください。

ヒント

SAP データ統合シナリオでの全体的なサポートについては、各 SAP コネクタの詳細な説明、比較、ガイダンスが含まれた、Azure Data Factory を使用した SAP データ統合に関するホワイトペーパーを参照してください。

サポートされる機能

この SAP CDC コネクタでは、次の機能がサポートされます。

サポートされる機能 IR
マッピング データ フロー (ソース/-) ①、②

① Azure 統合ランタイム ② セルフホステッド統合ランタイム

この SAP CDC コネクタは、SAP ODP フレームワークを使用して SAP ソース システムからデータを抽出します。 ソリューションのアーキテクチャの概要については、SAP ナレッジ センターSAP 変更データ キャプチャ (CDC) の概要とアーキテクチャに関する記事を参照してください。

SAP ODP フレームワークは、SAP ECC、SAP S/4HANA、SAP BW、SAP BW/4HANA、SAP LT レプリケーション サーバー (SLT) など、最新のすべての SAP NetWeaver ベースのシステムに含まれています。 前提条件と最低限必要なリリースについては、「前提条件と構成」を参照してください。

SAP CDC コネクタは、基本認証、または Secure Network Communications (SNC) が構成されている場合は SNC をサポートします。

現在の制限

Data Factory での SAP CDC コネクタの現在の制限事項を次に示します。

  • Data Factory では、ODQ サブスクリプションはリセットまたは削除することはできません (この目的には、接続された SAP システムでトランザクション ODQMON を使用します)。
  • ソリューションで SAP 階層を使用することはできません。

前提条件

この SAP CDC コネクタを使用するには、「SAP CDC コネクタの前提条件と設定」を参照してください。

はじめに

パイプラインでコピー アクティビティを実行するには、次のいずれかのツールまたは SDK を使用します。

UI を使用して SAP CDC コネクタのリンクされたサービスを作成する

SAP CDC のリンクされたサービスの準備に関する記事で説明されている手順に従って、Azure portal UI で SAP CDC コネクタ用のリンクされたサービスを作成します。

データセットのプロパティ

SAP CDC データセットを準備するには、SAP CDC ソース データセットの準備に関する記事に従います。

SAP CDC コネクタを使用してデータを変換する

生の SAP ODP 変更フィードの解釈は困難であり、シンクへの正しい更新は困難な場合があります。 たとえば、各行に関連付けられている技術属性 (ODQ_CHANGEMODE など) を理解し、シンクに変更を正しく適用する必要があります。 また、ODP からの変更データの抽出には、同じキー (たとえば、同じ販売注文) に対して複数の変更が含まれる場合があります。 そのため、変更の順序を考慮すると同時に、変更を並列に処理してパフォーマンスを最適化することが重要です。 さらに、変更データ キャプチャ フィードの管理では、たとえば、エラー回復のための組み込みメカニズムを提供するために、状態を追跡する必要もあります。 Azure データ ファクトリのマッピング データ フローが、このような側面すべてを処理します。 そのため、SAP CDC 接続はマッピング データ フロー エクスペリエンスの一部です。 これにより、ユーザーはデータ抽出の技術的な詳細を気にすることなく、必要な変換ロジックに集中できます。

開始するには、マッピング データ フローを使用してパイプラインを作成します。

Screenshot of add data flow activity in pipeline.

次に、Azure Data Lake Gen2 でステージングのリンク サービスおよびステージング フォルダーを指定します。これは、SAP から抽出されたデータの中間ストレージとして機能します。

注意

  • ステージングのリンク サービスでは、セルフホステッド統合ランタイムを使用できません。
  • ステージング フォルダーは、SAP CDC コネクタの内部ストレージと見なす必要があります。 SAP CDC ランタイムをさらに最適化するために、ステージング データに使用されるファイル形式などの実装の詳細が変更される可能性があります。 そのため、ステージング フォルダーは、他のコピー アクティビティやマッピング データ フローのソースなど、他の目的には使用しないことをお勧めします。

Screenshot of specify staging folder in data flow activity.

チェックポイント キーは、変更データ キャプチャ プロセスに関する状態情報を格納するため、SAP CDC ランタイムで使用されます。 これにより、たとえば、SAP CDC マッピング データ フローは、エラー状況から自動的に復旧したり、特定のデータ フローの変更データ キャプチャ プロセスが既に確立されているかどうかを把握したりすることができます。 そのため、ソースごとに一意のチェックポイント キーを使用することが重要です。 それ以外の場合、あるソースの状態情報は別のソースによって上書きされます。

注意

  • 競合を回避するために、既定で一意の ID が チェックポイント キー として生成されます。
  • パラメーターを使用して複数のソースに同じデータ フローを活用する場合は、ソースごとに一意の値を使用してチェックポイント キーをパラメーター化してください。
  • この場合、変更データ キャプチャ プロセスが確立されないため、SAP CDC ソース内の [実行] モード[毎回の実行でフル] (次のセクション参照) に設定されている場合にチェックポイント キーは表示されません。

Screenshot of checkpoint key property in data flow activity.

Mapping Data Flow のプロパティ

SAP CDC コネクタをソースとして使用してマッピング データ フローを作成するには、次の手順を実行します。

  1. ADF Studio で、[作成者] ハブの [データ フロー] セクションに移動し、[...] ボタンを選択して [Data flow actions](データ フロー アクション) メニューをドロップダウンし、[新しいパイプライン] 項目を選択します。 データ フロー キャンバスの上部バーにある [データ フローのデバッグ] ボタンを使用して、デバッグ モードを有効にします。

    Screenshot of the data flow debug button in mapping data flow.

  2. マッピング データ フロー エディターで、[ソースの追加] を選択します。

    Screenshot of add source in mapping data flow.

  3. [ソース設定] タブで、準備した SAP CDC データセットを選択するか、[新規] ボタンを選択して新しいデータセットを作成します。 または、[ソースの種類] プロパティで [インライン] を選択し、明示的なデータセットを定義せずに続行することもできます。

    Screenshot of the select dataset option in source settings of mapping data flow source.

  4. マッピング データ フローの実行ごとに完全なスナップショットを読み込む場合は、[ソース オプション] タブで [毎回の実行でフル] オプションを選択します。 初回のフル データ スナップショットを含め、SAP ソース システムから変更フィードをサブスクライブする場合は、[初回起動時はフル、その後は増分] を選択します。 この場合、パイプラインの最初の実行では差分初期化が実行されます。つまり、ソース システムに ODP デルタ サブスクリプションが作成され、現在の完全なデータ スナップショットが返されます。 後続のパイプライン実行では、前の実行以降の増分変更のみが返されます。 オプションの増分変更のみでは、最初の実行で最初の完全なデータ スナップショットを返さずに ODP デルタ サブスクリプションを作成します。 この場合も、後続の実行では、前回の実行以降の増分変更のみが返されます。 増分読み込みオプションでも、ODP ソース オブジェクトのキーをキー列プロパティで指定する必要があります。

    Screenshot of the run mode property in source options of mapping data flow source.

    Screenshot of the key columns selection in source options of mapping data flow source.

  5. [プロジェクション][最適化][検査] タブについては、マッピング データ フローに従ってください。

ソース パーティションを使用した全体読み込みまたは初期読み込みのパフォーマンスの最適化

[実行モード][毎回の実行でフル] または[初回起動時はフル、その後は増分]に設定されている場合、[最適化] タブには選択と [ソース] と呼ばれるパーティション分割が表示されます。 このオプションを使用すると、複数のパーティション (つまり、フィルター) 条件を指定して、大きなソース データ セットを複数の小さな部分に分割できます。 パーティションごとに、SAP CDC コネクタは SAP ソース システムで個別の抽出プロセスをトリガーします。

Screenshot of the partitioning options in optimize of mapping data flow source.

パーティションのサイズが等しい場合、ソースのパーティション分割により、データ抽出のスループットが線形的に増加する可能性があります。 このようなパフォーマンスの向上を実現するには、SAP ソース システム、セルフホステッド統合ランタイムをホストする仮想マシン、および Azure 統合ランタイムにおいて十分なリソースが必要です。