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
170
データの品質を管理する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)
MCPが変えるAIとの協働
knishioka
1
150
LangFlowではじめるRAG・マルチエージェントシステム構築
knishioka
0
110
DeepSeekを使ったローカルLLM構築
knishioka
0
170
業務ツールをAIエージェントとつなぐ - Composio
knishioka
0
210
LangGraphを使ったHuman in the loop
knishioka
0
260
AIシステムの品質と成功率を向上させるReflection
knishioka
0
47
LangGraph Templatesによる効率的なワークフロー構築
knishioka
0
170
AIエージェントの開発に特化した統合開発環境 LangGraph Studio
knishioka
0
200
LangGraphを用いたAIアプリケーションにおけるメモリ永続化の実践
knishioka
1
560
Other Decks in Technology
See All in Technology
Coding Agentに値札を付けろ
watany
3
590
RubyKaigi NOC 近況 2025
sorah
3
1.2k
4社統合におけるマスタデータ管理に立ち向かう / Towards master data management in the four-company integration
carta_engineering
0
300
OCI Full Stack Disaster Recovery サービス概要
oracle4engineer
PRO
1
120
LLMの開発と社会実装の今と未来 / AI Builders' Community (ABC) vol.2
pfn
PRO
3
250
【Gen-AX】20250514開催_Findyオンラインイベント_技術選定を突き詰める
genax
0
120
計装を見直してアプリケーションパフォーマンスを改善させた話
donkomura
2
190
Microsoft Fabric のライセンスについて
ryomaru0825
2
3.5k
hacomonoらしさをデザインする
hacomono
PRO
2
110
Kaigi Effect 2025 #rubykaigi2025_after
sue445
0
320
生成AI時代における人間の情熱とプロダクト志向 / 20250517 Takuya Oikawa
shift_evolve
2
160
UIパフォーマンス最適化: AIを活用して100倍の速度向上を実現した事例
kinocoboy2
1
670
Featured
See All Featured
Facilitating Awesome Meetings
lara
54
6.4k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.2k
A Tale of Four Properties
chriscoyier
159
23k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Thoughts on Productivity
jonyablonski
69
4.6k
Done Done
chrislema
184
16k
What's in a price? How to price your products and services
michaelherold
245
12k
For a Future-Friendly Web
brad_frost
177
9.7k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
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での組み込み