Case Study: Data Pipeline Orchestration ETL Use Case の翻訳版です。
ケーススタディ: データパイプラインオーケストレーションの ETL ユースケース
2023年6月12日
著者: Sriram V / Technical Advisor-Workload Automation
このブログでは、HCL Workload Automation のデータパイプラインオーケストレーションの完全なエンドツーエンドのユースケースを紹介します。
このシナリオでは、HCL Workload Automation を使用し、複数のソースシステムからデータが入力されるようにします。ファイルの検出やソースファイルの処理も、後処理を含めて異なるシステムで行われる可能性があります。
データ変換は、データステージング/変換プラットフォームを介して行われ、その後、変換されたデータをデータウェアハウスに取り込みます。データウェアハウスにデータが取り込まれると、一般的な分析プラットフォームを通じて、そのデータに対して分析を実行できます。
アナリティクスのステップでは、クエリーのステータスを確認できます。そのレスポンスを収集し、レポーティングツールからレポートを実行できます。
データパイプラインをエンドツーエンドでオーケストレーションする必要があり、異なるソースシステムからやってくる複数の受信インターフェースファイルがあるお客様は、このプロセスの恩恵を受けられるでしょう。インターフェイスファイルは到着時にリアルタイムで検出する必要があり、異なるシステムでリアルタイムに処理する必要があります。
顧客はメイン ERP として SAP を使用しており、SAP R/3 システムで、バリアントとステップユーザーを渡す ABAP プログラムで受信インターフェイスファイルを処理します。また、この顧客は、受信ファイルを処理するフローの一部として、SAPプロセスチェーンも実行させる必要があります。また、ソースファイルの1つをフェッチして別のターゲットにインポートするファイル転送ステップもある。
データ処理が完了したら、生成されたアウトプットを変換する必要があります。データ変換ツールとしては、Informaticaを使用できます。また、変換されたデータは、SAP Data Warehouse on the SAP HANA DBのようなデータウェアハウスに取り込む必要があります。
ここでは、インジェストされたデータの上でアナリティクスを実行するためにPowerBIをメイン製品として使用し、データソースをリフレッシュするためにPowerBIを使用されました。リフレッシュされたデータソースのステータスをフェッチし、そのステップを正常に終了させる必要があります。ステータスチェックの後、Workday Applicationを使用してレポートを実行し、それをユーザーに郵送することも必要です。
どのステップで失敗しても、MS Teamsにアラートが送信されます。また、ファイル転送のステップで処理中に3分以上かかると、MS Teamsにアラートが表示されます。
HCL Workload Automation は、このデータパイプラインをエンドツーエンドでオーケストレーションし、複数のアプリケーションを横断してフロー内の異なるジョブを実行します。
また、Workload Automationは、異なるソースシステムからのソースファイルを処理中にリアルタイムで検出し、ソリューション内で利用できるさまざまなプラグインを使用して各アプリケーションに容易に接続します。
個々のステップをリアルタイムで実行しながら、アラート、アベンド/フェイル、ロングランを追跡し、必要に応じて、自動化された条件分岐によってリカバリーが追跡されます。リカバリージョブやイベントルールは、自動リカバリープロセスで設定することも可能です。
ソースファイルは、イベントルールによって簡単に検出できます。ファイルは、リアルタイムまたはファイル依存のジョブストリームへのアクションで「作成」されます。
SAP R/3バッチジョブは、バリアントとステップユーザーでABAPプログラムを実行することで構成されています。
また、新しいスプール要求やプリンタフォーマット、スプール受信者の指定など、プリンタパラメータをここで実行することもできます。また、SM36内にあるようなパラメータをアーカイブすることも可能です。これらは、マルチステップのSAPジョブでも同様に使用できます。
HWAは、SAP内のSAPジョブログをリアルタイムでHWA内のローカルジョブログにフェッチします。
SAPプロセスチェーンジョブは、BWプロセスチェーンをトリガーするために、実行ユーザーを渡すオプション(これも内)を使ってBW SAPプロセスチェーンを実行することです。
ファイル転送ジョブは、外部のサードパーティとの間で、または内部で2つの異なるサーバー間でファイル転送をトリガーするために使用できます。
また、A2A(Agent to Agent)プロトコルを利用して、エージェント間でソースからデスティネーションへのhttps転送を行うオプションも用意されています。また、正規表現のマッピング、ソースでのアーカイブ、マッピング、ソースでのアーカイブ、日付とタイムスタンプ付きのデスティネーションでのアーカイブなどのオプションがあります。
この場合、ファイル転送のステップが長くなり、この特定のジョブで3分に設定された最大継続時間を超えてしまいます。
この結果、イベントルールを介してMS Teamsに通知アラートが送信されます。
データ変換は、InformaticaフォルダからInformatica PowerCenterワークフローを実行するInformaticaステップで行われ、サービスドメイン、リポジトリドメイン、リポジトリ名などにも言及されます。
Informatica 内での変換を示すジョブログは以下のようになります。
SAP HANA ジョブ
SAP HANA DBジョブは、SAP HANA DBに対してDBを照会したり、ストアドプロシージャを実行したりするために使用されます。これらは、ジョブ定義でSAP HANA NGDBCドライバについても言及しています。このジョブでは、以下のようにSAP HANA DBへのDBインポートを行うことになります。
注:データベースへのインポートをポストするために、データベースに取り込まれたデータの上でAnalyticsを実行することも可能です。
インポートをHANA DBにポストするための次のステップは、Power BIデータソースをリフレッシュすることです。これは、HWA内のRESTFULジョブで実現できます。
restfulジョブは、JSONボディを渡すことで、サービスURLを呼び出してhttpsポスト(この場合はpost)を行うために使用できます。ジョブのボディには、ファイルを経由するか、ボディフィールド内に直接投稿できます。
前のステップのステータスを別のRESTFULジョブで取得し、前のステップからDATASETIDとREFRESHIDを変数として渡して、前のステップのステータスでhttps GETを実行します。
JSONボディをジョブのbodyフィールドに直接渡すことで、再びRESTFULポストジョブを活用し、Workdayアプリケーションでレポートを実行します。
製品のグラフィカルなビューを使用することで、このプロセス全体をリアルタイムで追跡し、失敗や長いランナーをMS Team/チケットツール/メール/SMSで直接警告を受けることが簡単にできます。
HCL Workload Automationの詳細については、こちらをご覧ください。