メイン コンテンツをスキップする 補完的コンテンツへスキップ

スキーマと比較してデータを検証

このシナリオでは、受信フローからのデータのタイプ、NULL値、長さを定義済みの参照スキーマと照合し、検証結果を[Run] (実行)コンソールに表示するジョブについて説明します。

受信フローは、以下に示すように、誤ったデータ型、最大長を超えるデータ、誤ったID、およびNULL不可のカラムに含まれるNULL値などの異種データを含む簡単なCSVファイルから取得されます。
ID;Name;BirthDate;State;City
1;Dwight;06-04-2008;Delaware;Concord
2;Warren;25-10-2008;Montana
3;Benjamin;17-08-2008;Washington;Austin
4;Harry;14-04-2008;Kansas;Annapolis
5;Ulysses;2007-04-12;Michigan;Raleigh
6;James;19-08-2007;Delaware;Charleston
.7;Bill;20-04-2007;Illinois;Bismarck
8;Ulysses;04-12-2008;;Saint Paul
9;Thomas;09-05-2008;Maryland;Albany
10;Ronald;11-02-2008;Florida;Hartford

このシナリオはTalend Data Management PlatformTalend Big Data PlatformTalend Real-Time Big Data PlatformTalend MDM PlatformTalend Data Services PlatformTalend MDM PlatformおよびTalend Data Fabricにのみ適用されます。

ジョブを設定

手順

  1. 次のコンポーネントを削除します:tFileInputDelimitedtSchemaComplianceCheck、および2つのtLogRow コンポーネントを[パレット]からデザインワークスペースへ
  2. [Row] (行) > [Main] (メイン)接続を使って、tFileInputDelimitedコンポーネントをtSchemaComplianceCheckコンポーネントに接続させます。
  3. [Row] (行) > [Main] (メイン)接続を使って、tSchemaComplianceCheckコンポーネントをtLogRowコンポーネントに接続させます。この出力フローによって有効なデータが収集されます。
  4. [Row] (行) > [Rejects] (リジェクト)接続を使って、tSchemaComplianceCheckコンポーネントをtLogRowコンポーネントに接続させます。この出力フローによって不適合データが収集されます。さらに2つのカラムをerrorCodeコンポーネントとerrorMessageコンポーネントに渡します。これら2つの読み取り専用カラムは、拒否されたデータに関する情報を提供し、必要に応じてエラー処理とトラブルシューティングを容易にします。
    tFileInputDelimitedコンポーネント、tSchemaComplianceCheckコンポーネント、2つのtLogRowコンポーネントを使ったジョブ。

コンポーネントを設定

手順

  1. tFileInputDelimitedコンポーネントをダブルクリックして[Basic settings] (基本設定)ビューを表示します。
  2. 基本パラメーター(入力ファイル名、スキップするヘッダー行数など)を定義します。
    tFileInputDelimitedコンポーネントの設定。
  3. [Edit Schema] (スキーマを編集)の横にある[...]をクリックして、入力ファイルのデータストラクチャーを示します。この例では、スキーマは5つのカラム(IDNameBirthDateStateCity)で構成されています。
  4. NameStateCityカラムの[Length] (長さ)フィールドに、それぞれ71010と入力します。
    tFileInputDelimitedコンポーネントのスキーマ。
  5. OKをクリックします。
  6. tSchemaComplianceCheckコンポーネントをダブルクリックして[Basic settings] (基本設定)ビューを表示します。
  7. 検証パラメーターを定義します。
    tSchemaComplianceCheckコンポーネントの設定。
  8. [Mode] (モード)エリアで[Custom defined] (カスタム定義)オプションを選択し、カスタム定義のチェックを実行します。
    この例では、[Checked Columns] (チェック対象カラム)テーブルを使って検証パラメーターを設定します。また、次の選択も可能です。
    • 基本スキーマに対して全カラムですべてのチェック(型、NULL値、長さ)を行いたい場合は、[Check all columns from schema] (すべてのカラムをスキーマに対してチェック)チェックボックスをオンにします。
    • [Use another schema for compliance check] (コンプライアンスチェックに他のスキーマを使用)オプションを使い、データの期待されるストラクチャーとして新しいスキーマを定義します。
  9. [Checked Columns] (チェック対象カラム)テーブルで、実行するチェックを定義します。この例では、単純なLDAPプロトコルを使用しています。
    • IDカラムのタイプはInt|Integerにする必要があります。
    • Nameカラム、Stateカラム、Cityカラムの長さをチェックします。
    • BirthDateカラムはDateにする必要があります。期待される日付パターンはdd-MM-yyyyです。
    • どのカラムでもNULL値をチェックする必要があるため、すべてのカラムで[Nullable] (Null可能)チェックボックスをオフにします。
    情報メモヒント: 定義された最大長を超えるフィールドを含む行を拒否フローに送信するには、[Trim the excess content of column when length checking chosen and the length is greater than defined length] (長さチェックが選択され、定義された長さを超える場合はカラムの余分なコンテンツを切り捨て)チェックボックスをオフにします。
  10. tSchemaComplianceCheck コンポーネントの[Advanced settings] (詳細設定)ビューで、[Treat all empty string as NULL] (空の文字列をすべてNULLと見なす)オプションを選択して、空のフィールドを含む行を拒否フローに送信します。
  11. 検証結果を表形式で[Run] (実行)コンソールに表示するには、各tLogRowコンポーネントをダブルクリックして、[Basic settings] (基本設定)ビューの[Table] (テーブル)オプションを選択します。

ジョブを実行

手順

ジョブを保存し、F6を押して起動させます。
有効なデータと拒否されたデータをそれぞれ示す2つのテーブルがコンソールに表示されます。
コンソールからの結果。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。