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
データの品質を管理するAWS Glue Data Quality
Search
西岡 賢一郎 (Kenichiro Nishioka)
July 29, 2023
Technology
0
220
データの品質を管理するAWS Glue Data Quality
機械学習の社会実装勉強会第25回 (
https://machine-learning-workshop.connpass.com/event/289938/
) の発表資料です。
西岡 賢一郎 (Kenichiro Nishioka)
July 29, 2023
Tweet
Share
More Decks by 西岡 賢一郎 (Kenichiro Nishioka)
See All by 西岡 賢一郎 (Kenichiro Nishioka)
Claude Cowork Plugins を読む - Skills駆動型業務エージェント設計の実像と構造
knishioka
0
320
仕様書駆動AI開発の実践: Issue→Skill→PRテンプレで 再現性を作る
knishioka
2
760
Claude Codeを使った情報整理術
knishioka
20
13k
Claude Skillsで"仕事の型"を配布する
knishioka
0
350
Claude Agent SDKで始める実践的AIエージェント開発
knishioka
0
160
AIがAIを拡張する時代へ ~Claude Codeで実現する高品質文書作成~
knishioka
0
190
MLflow × LLM 生成AI時代の実験管理とリスク低減
knishioka
0
180
Conductor: Git Worktreeで実現する並列AIコーディング
knishioka
0
150
ローカルLLMでファインチューニング
knishioka
1
2.6k
Other Decks in Technology
See All in Technology
マネージャー版 "提案のレベル" を上げる
konifar
22
15k
[JAWSDAYS2026][D8]その起票、愛が足りてますか?AWSサポートを味方につける、技術的「ラブレター」の書き方
hirosys_
3
120
Shifting from MCP to Skills / ベストプラクティスの変遷を辿る
yamanoku
4
770
メタデータ同期に潜んでいた問題 〜 Cache Stampede 時の Cycle Wait を⾒つけた話
lycorptech_jp
PRO
0
160
脳内メモリ、思ったより揮発性だった
koutorino
0
110
新職業『オーケストレーター』誕生 — エージェント10体を同時に回すAgentOps
gunta
4
1.8k
Evolution of Claude Code & How to use features
oikon48
1
570
OpenClawで回す組織運営
jacopen
3
680
vLLM Community Meetup Tokyo #3 オープニングトーク
jpishikawa
0
310
作りっぱなしで終わらせない! 価値を出し続ける AI エージェントのための「信頼性」設計 / Designing Reliability for AI Agents that Deliver Continuous Value
aoto
PRO
2
270
AIエージェント時代に備える AWS Organizations とアカウント設計
kossykinto
3
690
JAWS Days 2026 楽しく学ぼう! 認証認可 入門/20260307-jaws-days-novice-lane-auth
opelab
10
1.7k
Featured
See All Featured
Accessibility Awareness
sabderemane
0
76
Faster Mobile Websites
deanohume
310
31k
Automating Front-end Workflow
addyosmani
1370
200k
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Ruling the World: When Life Gets Gamed
codingconduct
0
170
Site-Speed That Sticks
csswizardry
13
1.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
52k
Heart Work Chapter 1 - Part 1
lfama
PRO
5
35k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
210
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
190
Transcript
データの品質を管理する AWS Glue Data Quality 自動でデータの品質ルール作成 2023/07/29 第25回勉強会
自己紹介 • 名前: 西岡 賢一郎 ◦ Twitter: @ken_nishi ◦ note:
西岡賢一郎@研究者から経営者へ (https://note.com/kenichiro) ◦ YouTube: 【経営xデータサイエンスx開発】西岡 賢一郎のチャンネル (https://www.youtube.com/channel/UCpiskjqLv1AJg64jFCQIyBg) • 経歴 ◦ 東京大学で位置予測アルゴリズムを研究し博士 (学術) を取得 ◦ 東京大学の博士課程在学中にデータサイエンスをもとにしたサービスを提供する株式会社ト ライディアを設立 ◦ トライディアを別のIT会社に売却し、CTOとして3年半務め、2021年10月末にCTOを退職 ◦ CDPのスタートアップ (Sr. PdM)・株式会社データインフォームド (CEO)・株式会社ディース タッツ (CTO) ◦ 自社および他社のプロダクト開発チーム・データサイエンスチームの立ち上げ経験
本日のお話 • データの品質管理 • AWS Glue Data Quality • Data
Quality Development Language (DQDL) • デモ
データの品質管理
データの品質管理 • データは現代のビジネスにおいて非常に重要な役割となっている • 正確なデータ分析を行うためには、高品質なデータが必要 • 不正確なデータや不完全なデータは、誤った結果や混乱を招き、結果的にビ ジネス上の意思決定に悪影響を及ぼす可能性がある 不正なデータ 誤った意思決定につながる
データの品質管理の難しさ データの品質管理は、一見単純なようで、実は非常に難しい • 大量のデータ: 毎日膨大な量のデータが生成されるため、それら全てのデータを適 切に管理し、品質を維持しなければならない。 • データの多様性: 取り扱うデータは、形式(テキスト、数値、日付など)やソース (内部システム、3rd
Partyデータなど)が異なるため、一貫した品質管理が難し い。 • データの変動: データは常に変動し続けており、新しいデータが継続的に生成され る。さらに、データの形式や構造が時間とともに変わることもある。 • エラーの検出と修正: データの品質に問題があると判断された場合、その問題を修 正するためには、手間と時間がかかることが多い。 • リソース: データ品質管理には専門的な知識とスキルが必要。また、適切なツール やリソースがなければ、データの品質管理を効率的に行うことが難しい。
AWS Data Quality
AWS Glue Data Qualityの機能と利点 • 2022年末に発表 • データの品質を自動で管理し、信頼性のあるデータ分析を可能にするサービ ス •
主な機能 ◦ データを探索し、品質問題を分析する機能を提供 ◦ データ品質ルールを自動的に生成 ◦ 生成されたルールに基づいてデータ品質チェックを自動的に実行
AWS Glue Data Qualityの流れ 1. データセットの準備: 品質チェックを行いたいデータセットをS3などに用意。 2. Glueカタログの設定: Glue
Data Catalogでデータソースとデータセットのスキーマ(データの構造や型)に関する情報を 定義。 3. DQDLスクリプトの作成: Data Quality Development Language(DQDL)を使用して、データ品質チェックのルールを定 義するスクリプトを作成。 4. データ品質ジョブの実行: 定義したDQDLスクリプトを使用してデータ品質ジョブを実行。AWS Glueジョブとしてスケ ジュールも可能。 5. 結果の確認: データ品質ジョブが完了すると、結果はAmazon S3バケットに保存されます。これにより、データの品質に関 する詳細な情報を確認することができます。 6. アクションの実行: 結果に基づいてデータの修正や、さらなる分析のためのアクションを実行。
Glue Data Qualityへのアクセス Glue TableやVisual ETLにもData qualityタブが追加
自動品質ルール生成 • データをスキャンして、自動的に品質ルールを作成 • 自動品質ルールの作成・適用方法 ◦ AWS Glue > Tables
品質ルールをつけたい テーブルを選択 ◦ Data Quality TabからCreate data quality rulesからルール作成 ◦ Insert rule recommendationsから必要な品 質ルールを選択
Data Quality Development Language (DQDL)
Data Quality Development Language (DQDL) • DQDL (Data Quality Development
Language) は、AWS Glue Data Quality で使用される専用の言語 • データ品質ルールを定義するために使用 • DQDLで定義するデータ品質ルールは、テーブル、列、またはテーブルの列 間の制約に適用 • nullの確認、重複の確認、値の範囲の確認などができる • ルールの構造: <RuleType> <Parameter> <Parameter> <Expression> ◦ Mean "colA" between 80 and 100 ◦ (IsComplete "id") and (IsUnique "id") • https://docs.aws.amazon.com/glue/latest/dg/dqdl.html
DQDLのExpression 比較演算子に加え、between, in, 正規表現, date処理用のexpressionなどがある • Completeness "colA" = 1.0
• ColumnValues "colA" > 10 • Mean "colA" between 8 and 100 • ColumnValues "colA" in [ 1, 2, 3 ] • ColumnValues "colA" matches "[a-ZA-Z]*" • ColumnValues "load_date" > (now() - 3 days)
DQDLのRuleType よく使われそうなシンプルなRuleType • ColumnLength: データの長さが一貫しているかどうかをチェック ColumnLength "Postal_Code" = 5 •
ColumnNamesMatchPattern: 列名が定義されたパターンに一致するかどうかをチェック ColumnNamesMatchPattern "aws_.*" • ColumnValues: データが定義された値に一致しているかどうかをチェック ColumnValues "First_Name" matches "[a-ZA-Z]*" • Completeness: データに空白または NULL があるかどうかをチェック Completeness "First_Name" > 0.95 • DistinctValuesCount: 値の重複をチェック DistinctValuesCount "State" > 3 • IsComplete: データが 100% 完全であるかどうかをチェック IsComplete "email" • IsUnique: データの100%が一意かどうかをチェック IsUnique "email" • Mean: 平均が設定されたしきい値に一致するかどうかをチェック Mean "Star_Rating" > 3
DQDLのRuleType 少し複雑なRuleType • AggregateMatch: 2つのカラムの集約結果をチェック (AggregateMatch "avg(ratings)" "avg(reference.ratings)" >= 0.9)
• CustomSql: SQLによるデータのチェック (CustomSql "select count(*) from primary" between 10 and 20) • ReferentialIntegrity: 値が参照データセットの列の値のサブセットであるか どうかをチェック (eferentialIntegrity "city,state" "reference.{ref_city,ref_state}" = 1.0)
デモ • AWS Glue Data Qualityの探し方 • 自動品質ルール作成 • 手動で品質ルール設定
• Visual ETLでの組み込み