Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
データ品質管理の第一歩
Search
Nayuta S.
July 31, 2024
Technology
1
570
データ品質管理の第一歩
DevelopersIO 2024 OSAKAで発表した内容となります。
-
https://classmethod.connpass.com/event/322915/
Nayuta S.
July 31, 2024
Tweet
Share
More Decks by Nayuta S.
See All by Nayuta S.
目玉アップデート!のSageMaker LakehouseとUnified Studioは何たるかを見てみよう!
nayuts
0
230
Amazon Rekognitionのカスタムモデルで独自のモデレーションモデルをトレーニングする
nayuts
0
100
Google CloudのLLM活用の選択肢を広げるVertex AIのパートナーモデル
nayuts
0
240
簡単に始めるSnowflakeの機械学習
nayuts
1
760
AthenaとStep Functionsで簡単ETLオーケストレーション #midosuji_tech
nayuts
1
860
Vertex AIとBigQueryでつくる簡単ベクトル検索&テキスト分析システム
nayuts
0
910
AIが強力にサポート!データ分析・ML系サービスアップデート
nayuts
0
640
dbt Coreとdbt-athenaによるAWS上のdbt環境構築ナレッジ
nayuts
0
1.8k
Amazon Athena for Apache Sparkを使ってデータ分析をしよう!
nayuts
0
1.7k
Other Decks in Technology
See All in Technology
大規模サーバ移行を成功に導くための事前調査フェーズの工夫事例
fukuchiiinu
2
140
データパイプラインをなんとかした話 / Improving the Data Pipeline in IVRy
mirakui
1
330
OpenAIの蒸留機能(Model Distillation)を使用して運用中のLLMのコストを削減する取り組み
pharma_x_tech
3
410
AWS re:Invent 2024 ふりかえり
kongmingstrap
0
110
LINEスキマニにおけるフロントエンド開発
lycorptech_jp
PRO
0
310
ABEMA スマートテレビアプリケーションのパフォーマンス改善 〜業界トップクラスを目指して〜 / Performance Improvements on ABEMA Smart TV App
nodaguti
0
290
PHPからGoへのマイグレーション for DMMアフィリエイト
yabakokobayashi
1
140
ブラックフライデーで購入したPixel9で、Gemini Nanoを動かしてみた
marchin1989
1
380
バクラクのドキュメント解析技術と実データにおける課題 / layerx-ccc-winter-2024
shimacos
2
670
コンテナセキュリティのためのLandlock入門
nullpo_head
2
300
PR TIMESにおけるNext.jsとcacheの付き合い方
apple_yagi
3
370
セキュリティ系アップデート全体像と AWS Organizations 新ポリシー「宣言型ポリシー」を紹介 / reGrowth 2024 Security
masahirokawahara
0
380
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Building Adaptive Systems
keathley
38
2.3k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
How to Ace a Technical Interview
jacobian
276
23k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
95
17k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
Writing Fast Ruby
sferik
628
61k
How GitHub (no longer) Works
holman
311
140k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
Optimizing for Happiness
mojombo
376
70k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7k
Transcript
データ品質管理の 第⼀歩 2024.7.31 データ事業本部 鈴⽊那由太
例)本セッションの スクリーンショットは禁⽌ です。 後⽇『DevelopersIO』で記事が 公開されます。 そちらをお待ちください。 2 ご注意事項
Xへの投稿の際は、 ハッシュタグ #cm_odyssey でお願いいたします。 3 お願い
はじめに 4
このセッションの⽬的 5 • データ品質管理のプロセスや枠組みについて学ぶ ◦ ガイドブックを中⼼に ◦ 組織全体の視点から、だれがなにをすると効果的にデータ品質を管理できるのか確認する • プロセスを実現するために、どのようなサービスが利⽤できそうか確認する
はじめに 6 午前8時30分です。あなたはほとんど⽬が覚めておらず、 コーヒーを飲んで、⽬を覚まそうとしています。 ピン。 “こんにちは︕ 昨⽇の新規サブスクリプション数がLookerで30と表⽰されているのに、 Facebookの広告プラットフォームでは72なのが不思議なんですよね。“ こうして⼀⽇が始まる…。 ※
https://www.getdbt.com/blog/data-quality-frameworkより訳 こんなこと、ありませんか…?
はじめに 7 データ提供者 データ連携基盤 データ利⽤者 改善要求 データ • 中央集権的な考え⽅だと、データ連携を担う基盤に負荷が集中してしまう ◦
データの流れの中で、どこを担う⼈がやるべきことなのかを整理しつつ、 仕組み全体として破綻しないプロセスを考えていく必要がある <中央集権的な構成でよくある課題> ⾼負荷
スピーカー紹介 8 ⽒名 鈴⽊ 那由太(スズキ ナユタ) 所属 データ事業本部 インテグレーション部 機械学習チーム
受賞 2024 Japan AWS Top Engineers(Analytics)
スピーカー紹介 9 オンラインではSnowflakeの機械学習の話をがっつりしました。 今⽇はざっくばらんな感じでできればと思います。
⽬次 10 • データ品質管理とは • 現場の所感 • 関連するサービス
参考⽂献 [1] データ連携基盤を通して提供されるデータの品質管理ガイドブック ◦ データの品質管理の取組に関するの情報提供の⼀環として公開しているガイドブック ◦ https://www.chisou.go.jp/tiiki/kokusentoc/supercity/pdf/supercity_230926_guidebook_honsi.pdf [2] データ品質管理ガイドブック ◦
⽇本国内におけるデータ品質指標に関する共通認識の形成や、⾼品質なデータ提供を実現するためのガイド ◦ https://github.com/JDA- DM/GIF/blob/v1.38/460_%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89%E3%83%96%E3%83%83%E3%82%AF/md/468 -1_guidebook_dataquality.md [3] ⼤規模データ管理(第⼀版) ◦ 組織内でスケールするデータ分析環境を⽤意するためにどのようにすればよいかに焦点を当てた書籍 ◦ 今⽉頭に第⼆版が⽇本語でも発売された ◦ https://www.oreilly.co.jp/books/9784814400089/ 11
データ品質管理について 12
データ品質とは 13 • データがある⽬的を満たすために、備えるべき特性を定義したもので、データの 状態(質)を表したもの • ⽬的によって必要とされるデータの特性は異なるが、⼀般的にはデータが正確で信頼できることを指す
想定されるアーキテクチャ 14 • ⽂献[1]で想定されるアーキテクチャ • データ提供者はデータ利⽤者がデータを使⽤できるよう、”データ連携基盤”に 品質管理を適切に実施したデータを共有する データ提供者 データ連携基盤 サービス提供者
サービス利⽤者 データ利⽤者 ※文献[1]の図2-1を簡略化
想定されるアーキテクチャ 15 • ⽂献[1]で想定されるアーキテクチャ • データ提供者はデータ利⽤者がデータを使⽤できるよう、”データ連携基盤”に 品質管理を適切に実施したデータを共有する データ提供者 データ連携基盤 サービス提供者
サービス利⽤者 データ利⽤者 データを作り出すチームが データ品質管理を知っておく 必要がある。 ※文献[1]の図2-1を簡略化
データ品質の特性 16 # 特性 概要 1 正確性 (Accuracy) データの誤り・誤字脱字などがないこと。 2
完全性 (Completeness) 分析に必要なデータ項目がそろっていること。 3 一貫性 (Consistency) データセットに矛盾がないこと。住所コードと住所が合わないなど。 4 信憑性 (Credibility) 出典や更新日があり、データが信頼できること。 5 最新性 (Currentness) 適切なサイクルでデータが新しく更新されていること。 6 アクセシビリティ (Accessibility) データの使用権を持つ人が利用できる状態になっていること。 7 標準適合性 (Compliance) データの入力データが定まっており、その通りになっているか。 8 機密性 (Confidentiality) ハッキング対策や権限制御など、データの機密性が確保されているか。 9 効率性 (Efficiency) 重複有無や一貫性など、処理時に効率的に使える状態になっているか。 10 精度 (Precision) 使用目的に応じて必要な精度があるか。 11 追跡可能性 (Traceability) データの出所や変更者・変更日が明らかか。 12 理解性 (Understandability) データの意味を正しく理解し活用できる状態になっているか。 13 可用性 (Availability) 必要な時にいつでもデータにアクセスできるようになっているか。 14 移植性 (Portability) 入替えやシステム間連携の際にデータを簡易に移行できるか。 15 回復性 (Recoverability) データセンターの事故時などに素早く復元できるか。 ※ 文献[1][2]より整理した、ISO/IEC 25012に沿った観点
データ品質の観点 17 基礎的品質特性 付加的品質特性 ⽂献[1]では⼤きく2つに分類され、評価基準が異なる
基礎的品質特性の評価 18 <特性について> • データが信頼できることを担保するための、 利⽤シーンによらず、基本的に必要となる品質特性 • データ利⽤者からのクレームにも繋がりやすい <評価⽅法例> •
ツールなどによるバリデーションチェックを⾏う ◦ 例:本来はカタカナで記⼊すべき項⽬に、平仮名が記⼊されていないか • 以下基準にしたがって評価する ※ 文献[1] の表4-2, 4-3を引用 # 特性 概要 1 正確性 (Accuracy) データの誤り・誤字脱字などがないこと。 2 完全性 (Completeness) 分析に必要なデータ項目がそろっていること。 3 一貫性 (Consistency) データセットに矛盾がないこと。住所コードと住所が 合わないなど。
付加的品質特性の評価 19 <特性について> • 基礎的品質特性以外の品質特性 • データ利⽤者からのクレームにも繋がる可能性がある <評価⽅法例> • 各品質特性に関連付けされたメタデータの⼊⼒状況から評価する
• メタデータは必須かどうかを分けておき、網羅性を確認する No 必須区分 メタデータ項目 メタデータ項目の実体(値) 1 必須 タイトル データセットのタイトル 2 任意 サブタイトル データセットのサブタイトル 3 必須 説明 データセットの特徴を第三者に理解してもらうための 説明 4 任意 関連ドキュメント データセットに関する情報を記載するドキュメントへの リンク 5 任意 ランディングページ データセットに関する追加・補足情報を記載するページ へのリンク 6 推奨 標準モデル 参照とした標準モデル 理解性の例(文献[1]の表4-4) 「必須項目の記入判定」の表示イメージ(文献[1]の図4-2)
データ提供者の品質管理プロセス 20 ※文献[1]の図3-2 データ 品質計画 データ 品質管理 データ 品質保証 データ
品質改善 P D C A データ関連 サポート リソース 提供
データ提供者の品質管理プロセス 21 データ 品質計画 データ 品質管理 データ 品質保証 データ 品質改善
P D C A データ関連 サポート リソース 提供 • データの要件と品質の⽬標を確⽴ • 組織全体で⼀貫したデータ品質管理を ⾏うための⼿順‧ルール策定 ※文献[1]の図3-2
データ提供者の品質管理プロセス 22 データ 品質計画 データ 品質管理 データ 品質保証 データ 品質改善
P D C A データ関連 サポート リソース 提供 •品質計画に基づいたデータの評価 ※文献[1]の図3-2
データ提供者の品質管理プロセス 23 データ 品質計画 データ 品質管理 データ 品質保証 データ 品質改善
P D C A データ関連 サポート リソース 提供 • データの品質が⽬標を満たせているか 測定する。 • 満たせていない場合に原因を確認する ⼿順を実施しているか評価する。 ※文献[1]の図3-2
データ提供者の品質管理プロセス 24 データ 品質計画 データ 品質管理 データ 品質保証 データ 品質改善
P D C A データ関連 サポート リソース 提供 •根本原因を特定し再発防⽌策を 実施する。 •恒久策が確⽴されているか確認‧ 評価する。 ※文献[1]の図3-2
データ提供者の品質管理プロセス 25 データ 品質計画 データ 品質管理 データ 品質保証 データ 品質改善
P D C A データ関連 サポート リソース 提供 •品質管理プロセスを⽀援するツールや ⽅針が維持‧管理されているか評価 する。 •組織単位で、品質管理プロセスを サポートするのに適切な⼈材や 知識‧スキルが配置‧利⽤されている ことを評価する。 ※文献[1]の図3-2
現場の所感 26
データ品質の責任の所在 27 データ提供者 データ連携基盤 サービス提供者 サービス利⽤者 データ利⽤者 • ⽂献[1]の考え⽅では、データ連携基盤データ利⽤者からデータ連携基盤を通して、 データ提供者へとデータ品質の改善要求/要望が向かう
• データ連携基盤ではなく、データ提供者が要求に対する対応を⾏う 改善要求 改善要求 改善要求 ※文献[1]の図2-1を簡略化
データ品質ルールの設計 • 設計は組織全体のものを念頭に⼊れる ◦ チーム内:データ提供者が、品質をより安定させるために設定する ◦ 組織全体:組織全体としてデータガバナンスを⾏いたい ▪ これを守らないと⽂献[1]の枠組みだとそもそもデータ連携基盤にデータを 公開させてもらえない可能性がある
28
データ品質ルールの設計 データ品質チェックルールはチーム内で標準化ことになりそう • チーム内で安定した品質の統制がしやすい • 中央のデータガバナンスチームからの要求に応えやすい 29 ガバナンス担当 リーダー メンバー
こういう品質チェックは 必ずしてね こういう品質チェックは 必ずしてね わかりました! わかりました! 要求 プロジェクト ルール ガバナンスチーム 実行チーム
付加的だがデータ利⽤に重要な品質特性 データの利⽤には理解性も重要 • 消費側のチームでデータの意味を理解できる情報を提供する データ⾃体も理解できるものとしておく ◦ 値のバリエーションがあるのかカタログに全て書いておく、など ◦ ⽂献[3]でいうところの”読み出し最適化されたデータ”を作る 30
このカラムの値が Aのものは商品Aの レコード。 Bのものは商品Bの レコード。 このカラムの値が大事なんだけど、 nullがいっぱいある。 A・Bのときはわかるけど、 nullのときはなんなんだろう? 意味がある?バグ? 利用 公開 公開されたデータ
関連するサービス 31
必要な仕組み 32 • データカタログ:特性に対応するメタデータや品質情報を公開する • 品質チェックツール:特に基本的品質特性の測定を⾏う
データカタログ 33 データ提供者内ではdbt(DWH向けのOSS)を使うと簡単に ドキュメントが⽣成できる。 モデル・テストの管理およびリネージが確認できる。 • dbt docs generate •
dbt docs serve --port 8001 Open Metadataなど別のデータカタログの製品で取り込みを サポートしている場合もある。
データカタログ 34 •DataZoneではデータカタログをサポート ※ https://dev.classmethod.jp/articles/amazon-datazone-generate-ai-descriptions-preview/
データ品質チェック 35 データウェアハウス Glue Data Qualityの接続先の例 AWS Glue Data Quality
データレイク AWS Glue Data Catalog •AWS対象だと、S3・Redshift向けにGlue Data Qualityを使⽤できる •Glueのコンピュートを使⽤し、対象のデータを取得してデータ品質ルールに沿っているか確認する •異常があった場合は、Cloud Watchなどに通知することができる(データオブザーバビリティ)
データ品質ルールの定義 36 引用:https://dev.classmethod.jp/articles/20-min-overview-aws-glue-data-quality/ •データ品質ルールでは、値の範囲やバリエーションなどがルール通りになっているかチェックできる
Data Zoneのデータ品質 37 •DataZoneがGlue Data Qualityのデータ品質を掲載できるように ※ https://aws.amazon.com/jp/blogs/big-data/amazon-datazone-now-integrates-with-aws-glue-data-quality-and-external-data-quality-solutions/
データカタログ 38 •Informatica CDGCによるデータカタログ・品質管理やリネージへのオーバーレイ ※ https://dev.classmethod.jp/articles/informatica-cdgc-developersio-2024/ https://knowledge.informatica.com/s/article/Configure-email-alert-for-data-quality-failure?language=en_US
まとめ 39 • データを利⽤して⽬的を達成するためには、品質の⾼いデータが必要となる • ISO/IEC 25012に沿ったものだと15の特性がある • データ提供者‧データ連携基盤‧データ利⽤者で役割を分担して対応する必要がある •
データ品質管理を実現するシステム的な仕組みとしては、例えば以下が使えるのでご紹介した ◦ dbt ◦ AWS Glue Data Quality ◦ Amazon DataZone ◦ Informatica CDGC
None
41