データベースに取込める形にデータファイルを加工する | 第2回 データクレンジング手法

AUTHOR :   ギックス

本記事は、株式会社ギックスの運営していた分析情報サイト graffe/グラーフ より移設されました(2019/7/1)

データベースに合わせて「データを加工」する必要がある

データ分析の最初の作業として、分析対象のデータファイルをデータベースに投入する作業があります。ただ、この際に、データベースに合わせて取込対象のデータファイルを加工しないと、データベースは受け付けてくれません。
データベースには、取込機能(インポート機能)が、備わっている場合がありますが、取込機能は万能ではありません。取込機能が処理できる形式にデータファイルを加工する必要があります。また、取込機能が備わってないデータベースでは、SQL命令でデータを投入する必要があります。

データファイル加工とは

データベースのテーブル形式にデータファイルを加工

通常、データベースへのインポート処理を行う場合、データベースのテーブルのレイアウトに合わせたCSVファイルなどから行うことが多いです。この場合、データファイルの加工は、全く必要ありません。しかし、業務で使用するデータファイルは、CSVファイルなどではなく、Excelなどの表計算ソフトであることが多いです。これらのExcelファイルの場合、簡単にCSVファイルに変換可能ですが、下図のようなExcelファイル内にメモとしてセルに残したイレギュラーなデータが残っていた場合、インポート処理でエラーになります。これらのデータを除去、または補完する必要があります。ng_excel
graffeでは、一般的なCSVファイルやExcelファイルなどの表形式のファイル以外に、JSONファイルやXMLファイルなどの階層形式のファイルをデータベースに取込可能です。また、登録形式に一定のルールがあれば、ワードドキュメント、ログファイル、PDFファイルなども取込可能です。このように、登録形式に一定のルールを持った電子ファイルであれば、取り込みを可能にしています。data_cleansing1

テーブルの制約を考慮してデータファイルを加工

テーブルの一番代表的な制約として、一意制約があります。テーブルの一意制約とは、テーブル内の会員番号などのキー項目について、テーブル内で重複を許さない制約です。ファイル取込処理で制約違反が発生した場合、データベースのエラーが発生します。また、Null登録の禁止、登録文字数制限、登録文字形式制限など幾つもの制約が設定されているテーブルがあります。これらのテーブルの制約をクリアできるようにデータファイル加工を行う必要があります。(Nullについてはデータ分析用語参照)

処理速度を意識してデータファイルを加工

ビッグデータのデータ分析となった場合、一度に投入されるデータファイルの行数は、億単位になることも珍しいことではありません。データベースの特性を理解していない場合、取込処理が長時間掛かることもあります。このようなデータベース固有の特性を理解し、データファイルの加工や、取込処理方法を考慮する必要があります。

データ分析のスタートはデータファイルの取込から

このようにデータファイルをデータベースに取込む前の事前作業だけでも、多くのデータファイルの加工が必要になる場合があります。次回は、データベースに取込後のデータクレンジングについてご紹介します。
【連載記事リスト】
1. データクレンジングとは
2. データベースに取込める形にデータファイルを加工
3. データベースのデータ型を変える
4. 扱いやすい単位にデータ加工
5. 管理情報を追加してテーブルを統合
6. ミスを少なくするために登録形式を統一する
7. ETLとは~あらゆるデータファイルを理解してデータベース化する~
8. 取り扱いが難しい文字を変換して快適なデータ分析を楽にする

SERVICE