本記事では Informatica Intelligent Cloud Services の データ統合/Cloud Data Integration で利用できる「インテリジェント構造モデル」についてご紹介します。
はじめに
システム間のデータ連携では主にCSVファイルやデータベースのテーブル、Salesforceなどのアプリケーションからデータを抽出し処理します。これらは項目(カラム)の名前やデータ型などの構造を簡単に取得できるので、データ連携処理の開発も容易です。
それでは、ログファイルやExcelファイル、JSONやParquetなどの非構造化データ/半構造化データをからデータを抽出したい場合はどうでしょうか。複雑なデータの構造を一つ一つ確認して手動で定義するためデータ連携処理の開発に時間がかかるかもしれません。
Cloud Data Integration (CDI) では「インテリジェント構造モデル」機能を利用して簡単にデータの構造を定義できます。
インテリジェント構造モデルとは
「インテリジェント構造モデル」はデータファイルや定義ファイルを解析し、パターン、繰り返し、関係性、データの種類などの構造を自動解析してモデル化することにより、データ連携処理で簡単にデータを抽出できるようにします。
次の非構造化データ、半構造化データ、および構造化データを解析できます。
- 区切りファイル(CSVファイルなど)
- 機械生成されたファイル(Webログやクリックストリームなど)
- JSONファイル
- XMLファイル
- ORCファイル
- Avroファイル
- Parquetファイル
- Microsoft Excelファイル
- PDFフォームフィールド内のデータ
- Microsoft Wordテーブル内のデータ
- XSDファイル
- COBOLコピーブック
XSDファイルとCOBOLコピーブックはTechnical Previewです。開発環境における機能評価の目的にのみご利用ください。
インテリジェント構造モデルの作成
本記事ではCOBOLワークブックをもとにマルチレイアウトのフラットファイルからデータを抽出してみます。
なお、前述したようにCOBOLワークブックはTechnical Previewとなりますのでご注意ください。
COBOLワークブック
インテリジェント構造モデルで解析するCOBOLコピーブックです。
000100******************************************************************
000200******************************************************************
000300 03 COLUMN01 PIC X(05).
000400 03 COLUMN02 PIC X(05).
000500 03 SAMPLE-PACK PIC S9(05) COMP-3.
000600 03 SAMPLE-PACK2 PIC S9(03) COMP-3.
000700 03 SAMPLE-PACK3 PIC S9(07) COMP-3.
000800 03 FLAGS PIC X(01) OCCURS 6.
000900 03 WORK-DATE PIC X(08).
001000 03 WORK-DATE-R REDEFINES WORK-DATE.
001100 05 WORK-YEAR PIC 9(04).
001200 05 WORK-MONTH PIC 9(02).
001300 05 WORK-DAY PIC 9(02).
インテリジェント構造モデルの作成
CDI の[新規]をクリックして、[コンポーネント]-[インテリジェント構造モデル]を新規作成します。
[スキーマ/サンプルファイル]のファイルアイコンをクリックし、COBOLコピーブックを選択します。
ファイルが読み込まれたら[構造の検出]をクリックし、解析を開始します。
コピーブックに基づき構造が解析されます。解析結果はツリー形式で表示されます。各ノードの名前を変更したり構造から除外するなどの編集もできます。
正しくデータが取得できることをテストできます。[テスト]タブを選択します。
[テスト出力フォーマット]で出力するファイルのフォーマットを選択します。[選択して変換]をクリックし、データが含まれるフラットファイルを選択します。
インテリジェント構造モデルに基づき解析されたデータがファイルとして出力されます。
リレーショナル
JSON
XML
JSON LINES
マッピングへの組み込み
インテリジェント構造モデルはマッピングの [構造パーサー] トランスフォーメーションで利用することができます。
まとめ
インテリジェント構造モデルを利用することにより、非構造化データや半構造化データなどを簡単に処理することできます。
本記事ではCOBOLコピーブックを例にしましたが、他の形式のファイルもぜひ試してみてください。