はじめに
Talend製品の中に"Talend Cloud Data Stewardship"というツールがあるのはご存じでしょうか。
Talend Cloud Data Stewardshipは、データの品質と整合性を管理し向上させるためのアプリケーションです。
このアプリケーションは、データスチュワード(データの管理者や整理を担当する専門家)に、データクレンジングやデータガバナンス活動を効果的に行うためのツールを提供します。
データ品質の問題におけるTalend Cloud Data Stewardshipの位置づけ
ビジネスを進める上で、顧客データや製品カタログなど、様々なデータが活用されます。
しかし、これらのデータには、入力ミスや欠損、表記揺れといった品質の問題が常に潜んでいます。
データ品質の課題は、時に複雑なデータソースから発生します。
これらの課題の検出や整理には、Talend Data Qualityのようなツールも関連しますが、最終的な手動での修正や検証、そして責任ある管理を担うのがTalend Cloud Data Stewardshipの役割です。
基礎用語・基礎概念
データの整合性や品質を向上させるための作業単位はキャンペーンと呼ばれ、特定のデータに対する組織的な作業の枠組みとなります。
Talend Cloud Data Stewardshipでは、アービトレーション、グルーピング、マージング、そしてレゾリューションを含むいくつかのキャンペーンタイプがサポートされています。
データスチュワードが実行する主要な作業単位がタスクであり、特に今回の記事のテーマであるレゾリューションタスクは、無効または欠損しているデータを修正し、データ品質を向上させることを目的としています。
このレゾリューションタスクは、権限のあるデータスチュワードがデータレコードの1つまたは複数のフィールドを修正することを許可するものであり、その結果として修正されたレコードがまとめられます。
データスチュワードは、割り当てられたタスクにおいて、無効な値を修正したり、不足している値を入力したりする(キュレート)作業を実施します。
用語 | 解説 |
---|---|
データモデル | キャンペーンで管理されるデータ構造を決定する属性のセットのこと |
キャンペーン | データ整合性や品質を向上させるための作業単位 |
タスク | データスチュワードが作業する単位 |
キャンペーン(タスク)タイプ | 解説 |
---|---|
レゾリューション | 無効または欠損しているデータ修正し、データ品質を向上させる |
アービトレーション | データスチュワードが定義された選択肢から最適なデータを選択することで、データの一貫性や正確性を確保する |
マージング | 重複するデータレコードを1つのマスターレコードに統合し、データの冗長性を排除する |
グルーピング | 関連するデータレコードをグループ化し、データの整理と分析を容易にする |
Talend Studioで使用可能な関連コンポーネント
コンポーネント名 | 解説 |
---|---|
tDataStewardshipTaskOutput | タスク形式でキャンペーンにデータを送信 |
tDataStewardshipTaskInput | キャンペーンにタスク形式で保存されているデータを取得する |
tDataStewardshipTaskDelete | キャンペーンにタスク形式で保存されているデータを削除する |
実際に処理を確認
使用するデータ
Talend Cloud Data Stewardshipを使用した解決までの流れ
※ Talend Cloud Data Stewardshipの製品としての位置づけは、あくまで機械的にETL処理をして漏れたジョブを手動で修正するものであるので、Stewardshipに渡す前にしっかりデータをクレンジングするように処理を組み立てておきましょう。
また、今回はStewardshipを用いた処理の流れに焦点を当てるので、その他の個々の処理の詳細は割愛いたしますがご了承ください。
-
Talend Studioでジョブを作成し、正常データをRedshiftに、修正する必要があるデータをTalend Cloud DataSteardshipに渡すように分岐の構成をとります。(※ 言わずもがなジョブはあくまでサンプルです。)
この際、"tDataStewardshipTaskOutput"コンポーネントを用いることによって修正する必要があるデータをTalend Cloud Data Stewardshipに渡せます。
(Warningマークは特に影響なかったので、無視しました。)
-
tDataStewardshipTaskOutputコンポーネントの設定をしていきます。
設定項目 解説 URL https://tds.○○.cloud.talend.com/data-stewardship/ ※アジアパシフィックなら○○ → ap ユーザー名 Talend Cloudログインの際のユーザー名 パスワード Talend Cloudで発行したトークン キャンペーン Talend Cloud Data Stewardshipで設定した任意のキャンペーン名 タイプ 今回は "RESOLUTION"
を設定担当者 タスクを割り当てる人物を指定 -
ジョブを実行します。
-
正常なデータが保管されているRedshiftを確認します。
※ ETL処理で正常パターンに合致かつ、国コードが3文字のデータがRedshiftに格納されています。
-
Talend Cloud Data Stewardshipに移動し、修正対象のデータがタスクとして割り当てられていることを確認します。
国コードが5文字のものがあり、これを修正すれば後に正常データとして組み込めそうです。
修正該当箇所をダブルクリックすることで、編集することができます。
-
タスクの修正をします。
a. 今回は国コードを3文字に修正し、左にあるロックキーで変更を確定します。
b. "Validate"を押下し、タスクを完了させます。
-
Talend Studioで完了したタスクからデータを取得し、Redshiftに組み込むジョブを作成します。
この際、"tDataStewardshipTaskInput"コンポーネントを用いることによって修正したデータを読み込むことができます。
-
tDataStewardshipInputコンポーネントの設定をしていきます。
基本的に2. と同じ設定をしますが、状態を"Resolved"にします。これにより、解決されたタスクのデータを取得できます。
-
ジョブを実行します。
おまけ(備忘録も兼ねて)
tDataStewardshiTask系コンポーネントの設定項目に赤枠の様なものがあります。
これを有効にするとデータモデルのルールが強制されず、制約に違反しているデータでもタスクとして登録が可能です。
つまり制約が緩くなるということです。
無効化されているとデータモデルルールの制約に少しでも違反しているとエラーが発生します。(制約が厳しくなります。)
おわりに
信頼できるデータをつくり、組織全体で共有し活用するという、現代のデータガバナンスの要望に応える一歩としてTalend Cloud Data Stewardshipは大きな助けとなります。
個人的にはTalend StudioとTalend Cloud Data Stewardshipの関係はIPとICMPの関係のような補完関係にあると思っています。
それでは皆様、ごきげんよう。