データクオリティルールを使ってデータを検証し、無効なデータをフィルタリング
このシナリオのジョブでは次のコンポーネントを使います。
- tDataQualityRulesコンポーネント: Talend Cloud Data Stewardshipのデータクオリティルールを使ってデータを検証します。
- tFilterRowコンポーネント: 実行不可能なデータをフィルタリングします。
ジョブでは次のデータクオリティルールが使用されます。
scholarship_programs.zipファイルをダウンロードして解凍できます。
ジョブを設定
手順
tFixedFlowInputコンポーネントを設定
手順
tDataQualityRulesコンポーネントを設定
始める前に
- Talend Cloud Data Stewardshipでデータクオリティルールを少なくとも1つ作成済みであること。
- パーソナルアクセストークンを持っていること。パーソナルアクセストークンを生成する場合は、https://help.talend.com/r/ja-JP/Cloud/management-console-user-guide/cloud-access-tokenをご覧ください。情報メモヒント: この例では、Talend Cloud Data Stewardshipが使用されています。また、Talend Data Stewardship 8.0 R2022-07以降のハイブリッドバージョンとTalend Cloud Data InventoryのURLも入力できます。
このタスクについて
手順
tExtractJSONFieldsコンポーネントを設定
このタスクについて
手順
tFilterRowコンポーネントを設定
このタスクについて
- NE: データではルールを実行できません。
- Invalid: データは条件を満たすものの、検証式は満たしていません。
手順
tLogRowコンポーネントを設定
手順
ジョブを保存して実行
手順
ジョブを保存し、F6を押して実行します。
タスクの結果
- スターテスコードは2632で、日付は2021-09-01である
または
- ステータスコードは2632ではなく、プログラムは10ABまたは10ACで終わる
.-------+----+-------+-----------+-----------.
| main |
|=------+----+-------+-----------+----------=|
|ID |Code|Program|EffectiveOn|Nationality|
|=------+----+-------+-----------+----------=|
|1002145|2632|2310AB |2021-09-01 |Canada |
|1002146|1132|3610AC |2021-10-01 |US |
|1002149|2632|3711AB |2021-09-01 |US |
|1002150|2632|2310AB |2021-09-01 |US |
|1002151|2632|3711AB |2021-09-01 |US |
|1002152|2632|2310AB |2021-09-01 |US |
|1002153|2632|3711AB |2021-09-01 |US |
|1002155|2675|3610AC |2021-10-01 |US |
|1002156|2675|2310AB |2021-10-01 |Canada |
|1002158|2632|2310AB |2021-09-01 |US |
|1002159|1132|2310AB |2021-10-01 |US |
|1002162|2675|2310AB |2021-10-01 |US |
|1002163|2632|3610AC |2021-09-01 |US |
'-------+----+-------+-----------+-----------'
.-------+----+-------+-----------+-----------+------.
| NE |
|=------+----+-------+-----------+-----------+-----=|
|ID |Code|Program|EffectiveOn|Nationality|Status|
|=------+----+-------+-----------+-----------+-----=|
|1002161|abcd|3611AC |2021-09-01 |US |NE |
'-------+----+-------+-----------+-----------+------'
NEというステータスは、データでルールを実行できないことを意味します。このシナリオではステータスコードはabcdですが、ルール条件はis equal to 2632です。
もう1つの無効なデータは次のいずれかを表します。
- スターテスコードは2632だが、日付は2021-09-01である
または
- ステータスコードは2632ではなく、プログラムは10ABまたは10ACで終わらない
.-------+----+-------+-----------+-----------+-------+----------------------------------. | OtherInvalid | |=------+----+-------+-----------+-----------+-------+---------------------------------=| |ID |Code|Program|EffectiveOn|Nationality|Status |errorMessage | |=------+----+-------+-----------+-----------+-------+---------------------------------=| |1002147|2632|3610AC |2022-01-01 |Canada |Invalid|Status.compareTo("NE") == 0 failed| |1002148|2632|2310AB |2022-01-01 |Canada |Invalid|Status.compareTo("NE") == 0 failed| |1002154|2632|3610AC |2022-01-01 |Canada |Invalid|Status.compareTo("NE") == 0 failed| |1002157|2632|3610AC |2022-01-01 |Canada |Invalid|Status.compareTo("NE") == 0 failed| |1002160|2632|2310AB |2022-01-01 |Canada |Invalid|Status.compareTo("NE") == 0 failed| |1002164|2675|3611AC |2021-09-01 |US |Invalid|Status.compareTo("NE") == 0 failed| '-------+----+-------+-----------+-----------+-------+----------------------------------'
ジョブを保存する時は、ルール定義が含まれているJARファイルが以下で作成されます。
studio-path\configuration\.m2\repository\org\talend\libraries\rules-number