7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

COBOLコピーブックをもとにマルチレイアウト・ファイルからデータを抽出してみる

Last updated at Posted at 2021-12-05

本記事では 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 の[新規]をクリックして、[コンポーネント]-[インテリジェント構造モデル]を新規作成します。
01_New.png02_ISD_Asset.png

[スキーマ/サンプルファイル]のファイルアイコンをクリックし、COBOLコピーブックを選択します。
03_ISD_File.png

ファイルが読み込まれたら[構造の検出]をクリックし、解析を開始します。
04_ISD_Discover.png

コピーブックに基づき構造が解析されます。解析結果はツリー形式で表示されます。各ノードの名前を変更したり構造から除外するなどの編集もできます。
05_ISD_VisualModel.png

正しくデータが取得できることをテストできます。[テスト]タブを選択します。
06_ISD_TestTab.png

[テスト出力フォーマット]で出力するファイルのフォーマットを選択します。[選択して変換]をクリックし、データが含まれるフラットファイルを選択します。
07_ISD_RunTest.png

インテリジェント構造モデルに基づき解析されたデータがファイルとして出力されます。

リレーショナル ![08_ISD_CSV.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2253766/1f7dce26-62ca-644d-e18c-05661fb76c99.png)
JSON ![09_ISD_JSON.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2253766/3f25d388-d989-e5da-8926-f3a3f551453a.png)
XML ![10_ISD_XML.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2253766/89bc4d15-8ddb-3e5d-af7a-5908ef97b0de.png)
JSON LINES ![11_ISD_JSONLINES.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2253766/b281717a-361d-8895-4b69-aa0631faa674.png)

##マッピングへの組み込み
インテリジェント構造モデルはマッピングの [構造パーサー] トランスフォーメーションで利用することができます。
12_Mapping.png

#まとめ
インテリジェント構造モデルを利用することにより、非構造化データや半構造化データなどを簡単に処理することできます。
本記事ではCOBOLコピーブックを例にしましたが、他の形式のファイルもぜひ試してみてください。

#おまけ
Excelファイルは次のように解析されます。複数シートにも対応しています。
13_EXCEL_XLSX.png
14_EXCEL_ISD.png

7
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?