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
190
データの品質を管理する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)
MLflow × LLM 生成AI時代の実験管理とリスク低減
knishioka
0
56
Conductor: Git Worktreeで実現する並列AIコーディング
knishioka
0
75
ローカルLLMでファインチューニング
knishioka
0
730
自作MCPサーバ入門
knishioka
0
40
成功と失敗の実像と生成AI時代の展望
knishioka
0
62
MCPが変えるAIとの協働
knishioka
1
220
LangFlowではじめるRAG・マルチエージェントシステム構築
knishioka
0
240
DeepSeekを使ったローカルLLM構築
knishioka
0
230
業務ツールをAIエージェントとつなぐ - Composio
knishioka
1
260
Other Decks in Technology
See All in Technology
IoT x エッジAI - リアルタイ ムAI活用のPoCを今すぐ始め る方法 -
niizawat
0
130
初めてAWSを使うときのセキュリティ覚書〜初心者支部編〜
cmusudakeisuke
1
290
エンジニアリングマネージャーの成長の道筋とキャリア / Developers Summit 2025 KANSAI
daiksy
3
1.2k
未経験者・初心者に贈る!40分でわかるAndroidアプリ開発の今と大事なポイント
operando
6
770
まずはマネコンでちゃちゃっと作ってから、それをCDKにしてみよか。
yamada_r
2
120
企業の生成AIガバナンスにおけるエージェントとセキュリティ
lycorptech_jp
PRO
3
200
Codeful Serverless / 一人運用でもやり抜く力
_kensh
7
460
2025/09/16 仕様駆動開発とAI-DLCが導くAI駆動開発の新フェーズ
masahiro_okamura
0
140
20250912_RPALT_データを集める→とっ散らかる問題_Obsidian紹介
ratsbane666
0
100
複数サービスを支えるマルチテナント型Batch MLプラットフォーム
lycorptech_jp
PRO
1
1k
スマートファクトリーの第一歩 〜AWSマネージドサービスで 実現する予知保全と生成AI活用まで
ganota
2
320
いま注目のAIエージェントを作ってみよう
supermarimobros
0
370
Featured
See All Featured
Practical Orchestrator
shlominoach
190
11k
Scaling GitHub
holman
463
140k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3k
Typedesign – Prime Four
hannesfritz
42
2.8k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.1k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
Building an army of robots
kneath
306
46k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Speed Design
sergeychernyshev
32
1.1k
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での組み込み