6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Talend Cloud Data Stewardshipでデータの手動クレンジングをしてみたいと思う今日この頃

Last updated at Posted at 2025-10-06

はじめに

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 キャンペーンにタスク形式で保存されているデータを削除する

実際に処理を確認

使用するデータ

image.png

Talend Cloud Data Stewardshipを使用した解決までの流れ

※ Talend Cloud Data Stewardshipの製品としての位置づけは、あくまで機械的にETL処理をして漏れたジョブを手動で修正するものであるので、Stewardshipに渡す前にしっかりデータをクレンジングするように処理を組み立てておきましょう。
また、今回はStewardshipを用いた処理の流れに焦点を当てるので、その他の個々の処理の詳細は割愛いたしますがご了承ください。

  1. Talend Studioでジョブを作成し、正常データをRedshiftに、修正する必要があるデータをTalend Cloud DataSteardshipに渡すように分岐の構成をとります。(※ 言わずもがなジョブはあくまでサンプルです。)
    この際、"tDataStewardshipTaskOutput"コンポーネントを用いることによって修正する必要があるデータをTalend Cloud Data Stewardshipに渡せます。
    (Warningマークは特に影響なかったので、無視しました。)
    image.png

  2. tDataStewardshipTaskOutputコンポーネントの設定をしていきます。
    image.png

    設定項目 解説
    URL https://tds.○○.cloud.talend.com/data-stewardship/ ※アジアパシフィックなら○○ → ap
    ユーザー名 Talend Cloudログインの際のユーザー名
    パスワード Talend Cloudで発行したトークン
    キャンペーン Talend Cloud Data Stewardshipで設定した任意のキャンペーン名
    タイプ 今回は "RESOLUTION" を設定
    担当者 タスクを割り当てる人物を指定
  3. ジョブを実行します。

  4. 正常なデータが保管されているRedshiftを確認します。
    ※ ETL処理で正常パターンに合致かつ、国コードが3文字のデータがRedshiftに格納されています。
    image.png

  5. Talend Cloud Data Stewardshipに移動し、修正対象のデータがタスクとして割り当てられていることを確認します。
    国コードが5文字のものがあり、これを修正すれば後に正常データとして組み込めそうです。
    修正該当箇所をダブルクリックすることで、編集することができます。
    image.png

  6. タスクの修正をします。
    a. 今回は国コードを3文字に修正し、左にあるロックキーで変更を確定します。
    image.png
    b. "Validate"を押下し、タスクを完了させます。
    image.png

  7. Talend Studioで完了したタスクからデータを取得し、Redshiftに組み込むジョブを作成します。
    この際、"tDataStewardshipTaskInput"コンポーネントを用いることによって修正したデータを読み込むことができます。
    image.png

  8. tDataStewardshipInputコンポーネントの設定をしていきます。
    基本的に2. と同じ設定をしますが、状態を"Resolved"にします。これにより、解決されたタスクのデータを取得できます。
    image.png

  9. ジョブを実行します。

  10. Redshiftを確認を確認すると、正常なデータに、修正したデータが組み込まれていることが分かります。
    image.png

おまけ(備忘録も兼ねて)

tDataStewardshiTask系コンポーネントの設定項目に赤枠の様なものがあります。
image.png
これを有効にするとデータモデルのルールが強制されず、制約に違反しているデータでもタスクとして登録が可能です。
つまり制約が緩くなるということです。
無効化されているとデータモデルルールの制約に少しでも違反しているとエラーが発生します。(制約が厳しくなります。)

おわりに

信頼できるデータをつくり、組織全体で共有し活用するという、現代のデータガバナンスの要望に応える一歩としてTalend Cloud Data Stewardshipは大きな助けとなります。
個人的にはTalend StudioとTalend Cloud Data Stewardshipの関係はIPとICMPの関係のような補完関係にあると思っています。

それでは皆様、ごきげんよう。

6
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?