はじめに
こんにちは。製品開発本部クラウドツール開発部 DSCチームの波平です。
新オフィスに移転してから、週4で卓球をしています。
座りっぱなしで業務を行う事が多いので、とても良いリフレッシュになりますね。
今後、卓球大会なども開催されるみたいなのでとても楽しみです。
ところで
DataSpider Cloudを使用していて次のような問題に遭ったことはないでしょうか?
- 連携元データに不備があったためエラーが発生する
- 連携元データの不備の修正に時間がかかる
例えば、データベースにデータを書き込む際に書き込みデータに不備があったため エラーが発生し処理がロールバックされるといったような場合です。
そのような場合に出力されるエラーメッセージは、どのデータにどのような不備があったのか分かりづらい部分があったり、 また、データに複数の不備があった場合でも、最初に検知されたエラーしか出力されないためデータの修正に時間がかかります。
上記のようなデータ不備によるエラーを防ぐには
- 目視でデータをチェックする
- マッパーでデータをチェックする
などの方法が考えられますが、実はもっと簡単にデータチェックを行うためのアダプタがあります。
それがデータチェックアダプタです!
データチェックアダプタとは?
データチェックアダプタは以下の2つのコンポーネントから成ります。
データチェックエラー詳細取得コンポーネント
上記のコンポーネントを併用することで、データチェックとエラーデータ情報の取得を行うことができるため、データの修正が容易になります。
サンプルスクリプト
さっそくですが、サンプルスクリプトを作成しデータチェックアダプタの使い方を説明していきたいと思います。
今回は、ディレクトリに格納されている各事業所の売上データをRDS for MySQL上の売上管理テーブルに書き込む前に、データチェックを行うというサンプルスクリプトを作りました。
メイン処理の構成は以下のようになります。
1件ずつ対象ファイルのデータチェックを行い、エラーが有ればエラー詳細を出力、エラーが無ければテーブル書き込みを行うという流れです。
赤枠内の処理でデータチェックアダプタが使用されています。
また、スクリプトの可読性のためエラーの出力処理はサブスクリプトとして作成しています。
テーブル定義と売上ファイル
今回使用する売上管理のテーブル定義と売上ファイルは以下のようになります。
上記の売上ファイルにはあらかじめいくつかのエラーデータが含まれています。
今回のスクリプトでは、上記ファイル内のエラーデータ詳細を出力できれば成功となります。
データチェック処理
まずはデータチェックコンポーネントの設定を見てみましょう。
データチェックコンポーネントでは、データチェックを行う際の条件を設定します。
ここでは、読み込んだ売上ファイルのデータが、データベースのテーブル定義と合っているかチェックする条件の設定を行います。
[データチェック条件一覧]には連携先のテーブル定義に合わせて以下のように条件を設定しました。
データチェックコンポーネントでは上記のように、必須チェック・データ型の指定・正規表現などをチェック条件として設定することができます。
また、[出力レコード]から出力形式を設定できます。
今回はエラーデータを出力したいので、「条件に一致しないレコードのみ出力する」を選択します。
データチェックコンポーネントでは、その他にもチェック条件に関して設定を行うことができます。
その他の設定についてはSturdioヘルプをご確認いただけると幸いです。
Studioヘルプ - [処理]データチェックエラー詳細出力処理
エラー詳細取得コンポーネントでは、当コンポーネントより前に実施されたデータチェックコンポーネントの処理でエラーと判断されたデータの
- 行番号
- 列番号
- 入力データの値
- 不一致となった原因
今回は、エラー修正を行いやすくするために、エラー詳細に加えてエラーデータが含まれていたファイル名も出力するためのマッピングを行っています。
以上でデータチェックアダプタの設定は完了です。
スクリプトを実行してみましょう。
実行結果
各売上ファイルのデータチェックを行い、データチェック条件に一致しなかったデータのエラー詳細を出力することができました。
おわりに
今回はデータチェックアダプタの機能と使い方のご紹介をさせていただきました。
業務の中で、ファイルデータの目視チェックなどの作業を行なっている場合はデータチェックアダプタを使う事で業務の効率化を図ることができるのではないでしょうか。