Technical Blog テクニカルブログ
  1. HOME
  2. テクニカルブログ
  3. 【IICS】データの品質評価・改善を行ってみた

【IICS】データの品質評価・改善を行ってみた

投稿者:泉 亮太郎

まずはじめに

こんにちは!
NI+C DataOpsチームの泉です。
今年で入社2年目となりまして、現在Informatica Intelligent Cloud Services(以下、IICSとします)の検証を行っております。

そこで本Tech BlogではIICSのプロファイリング機能とクレンジング機能を使用したデータの品質評価・改善を行ってみたいと思います!

アジェンダ

  1. プロファイリングとは
  2. クレンジングとは
  3. プロファイリングとクレンジング機能を使ってみよう!
  4. データの品質評価(プロファイリング)
  5. 不正確なデータの修正(クレンジング)
  6. 品質改善後のデータの評価(プロファイリング)
  7. まとめ

プロファイリングとは

プロファイリングとはデータソースのデータを自動的に分析し、詳細な統計情報や特徴を抽出するための機能です。

IICSのプロファイリング機能では、様々なデータソース(データベース、ファイル、クラウドなど)のデータを評価し、パターンや傾向、欠損データ、不整合など、様々なデータ品質の問題を分析できます。

クレンジングとは

クレンジングとは文字列や記号を修正し揃えることで、データを標準化する機能です。

IICSのクレンジング機能では様々なデータソースからのデータを統合し、クレンジング・標準化するための豊富な機能を提供しています。これにより重複したデータの削除、不正確なデータの修正、欠損データの正確性と一貫性を向上させることができます。

プロファイリングとクレンジング機能を使ってみよう

文章だけだとイメージがつきにくいと思いますので、早速IICSのプロファイリングとクレンジング機能を使用してデータの品質評価・改善を行ってみます!
今回は下図の流れに沿って検証を行っていきたいと思います。

サンプルデータは郵便局事業所データ(JIGYOSYO_DATA.csv)を使用して検証を行っていきますが、
本データの”大口事業所名(カナ)”と”大口事業所名(漢字)”に記載されている会社名については株式会社・(株)以外をマスキングさせていただきます。
※郵便局事業所データは以下URL先のサイトからダウンロードしています。
 URL:事業所の個別郵便番号データダウンロード

また、今回検証を進める上での環境イメージ図を以下に載せてます。
※データはGoogle Cloud Strage(以下、GCSとします)に格納してあり、クレンジング後のデータもGCSに格納します。

データソースの品質評価(プロファイリング)

まずは、データソース(JIGYOSYO_DATA.csv)の品質評価から行っていきます。
プロファイリングはIICSのマイサービスにある”データプロファイリング”から作成することができます。

プロファイリングを作成するにあたって対象となるソースの設定やランタイム環境の設定が必要ですが、今回は詳細な設定説明は省きます。

実際に作成してみると以下のようなプロファイリング結果を閲覧することができます。

IICSのプロファイリング機能は、以下の3つの主要なコンポーネントから構成されています。

1.全カラムのサマリ

このセクションでは、データソース全体の統計情報が表示されます。
NULL値の割合・数、最小値と最大値、空白行の割合・数などが表示され、これによりデータの全体像を把握し、データソースの特徴や傾向を把握することができます。

2.個々のカラムの詳細

このセクションでは、全カラムのサマリで指定したカラムに関する詳細な情報が提供されます。
データ型、頻度の高い値、および主要な統計値(平均、合計、標準偏差)などが表示されます。
これにより、特定のカラムのデータ品質や分布をより詳細に理解することができます。

3.データプレビュー

このセクションでは、実際のデータのプレビューが表示されます。
最初の数行やサンプルデータなどが表示され、データの概要を視覚的に確認することができます。

ここで、今回の郵便局事業所データの状態を確認してみましょう。
全カラムのサマリを見てみると、「町域名」及び「小字名及び番地等」にNULL行が含まれていることが分かりますね。
また、データプレビューを見てみると「大口事業所名_漢字」には株式会社と(株)が混在していることも分かります。

そこで続いてはクレンジング機能を使用してNULL行の除外と株式会社・(株)を株式会社に統一していきたいと思います!

不正確なデータの修正(クレンジング)

今回クレンジング処理をするにあたって、IICSのマッピング機能を利用します。
マッピングとはデータの抽出、変換、送出(ETL)処理を行うことができる機能であり、データ統合プロセスの中心的な要素となります。

マッピングはIICSのマイサービスにある”データ統合”から作成することができます。

新規にマッピングを作成するとデザインとプロパティ画面が表示され、デフォルトではソースとターゲットがデザインに追加された状態になっています。
また、最初のプロパティ画面ではマッピング名やマッピングを配置するプロジェクトの指定を行うことができます。今回はマッピング名を”jigyosyo_cleansing”、配置するプロジェクトは”Default”にしたいと思います。

続いて当マッピングで実行するジョブ設定を行います。
以下の写真の通りIICSには多種多様な変換部品があります。用途に応じて使用する部品は使い分ける必要がありますが、今回はこの中の”ソース”、”フィルター”、”式”、”ターゲット”の4部品を使用してクレンジング処理を行っていきたいと思います。

■ソースの設定
ソースの設定を行うことで様々なストレージやデータベースなどからデータを抽出することができます。今回はGCSに格納されているJIGYOSYO_DATA.csvを対象とします。
また、ソースでは抽出したデータの確認やパーティション化などの設定も行うことができます。

■フィルターの設定

フィルターでは指定された条件に基づいてフィルタリングを行うことができます。
今回はこのフィルターを使用してNULL値を含む行を除外します。

フィルターで設定するNULL値除外の条件式は以下の通りです。
条件式:IIF(ISNULL(町域名) OR ISNULL(小字名及び番地等),FALSE,TRUE)

■式の設定

式では個々のデータ行に対して計算を行うことができます。
今回はこの式を利用して株式会社と(株)を株式会社に統一します。

式で設定する関数式は以下の通りとなります。
関数式:REPLACESTR(0,大口事業所名_漢字,’(株)’,’株式会社’)

■ターゲットの設定

ターゲットの設定を行うことで様々なストレージやデータベースにあるテーブルにデータを送出することができます。また実行時に新規テーブルを作成して送出することも可能です。

今回はクレンジング処理したJIGYOSYO_DATA.csvを既にGCS上に格納されている空のcsvファイル
”JIGYOSYO_DATA_CLEANSING.csv”にインサートします。

ジョブの設定が完了したら保存して実行してみます!
ジョブが成功したかどうかはマイジョブから確認することができます。

成功していることが確認できましたので、最後にクレンジング後のデータ品質評価を行いたいと思います!

品質改善後のデータの評価(プロファイリング)

まずはクレンジング前のデータの状態を再度おさらいしましょう。
クレンジング前のデータは「町域名」及び「小字名及び番地等」にNULL行が含まれており、「大口事業所名_漢字」には株式会社と(株)が混在していました。

続いて品質改善後のデータ(JIGYOSYO_DATA_CLEANSING.csv)のプロファイリング結果を見てみましょう。

全カラムのサマリを見てみると、「町域名」及び「小字名及び番地等」からNULL行がなくなっており、データプレビューでは「大口事業所名_漢字」の(株)が株式会社に変換されていることが分かります!

このようにIICSではデータの品質評価及び改善を1つのクラウド上で実現することができます。

まとめ

今回のブログではIICSのプロファイリング・クレンジング機能を使って、データの品質調査・改善を行ってみました。
所感としてはGUI上で簡単にデータの状態を確認したり、改善処理を行えるのはとても魅力的に感じました。
今後もIICSについてBlogを更新してまいりますので、是非ご覧になっていただければと思います!

読んでいただき、ありがとうございました!

ページのトップへ