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
110
データの品質を管理する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)
LangGraph Templatesによる効率的なワークフロー構築
knishioka
0
61
AIエージェントの開発に特化した統合開発環境 LangGraph Studio
knishioka
0
99
LangGraphを用いたAIアプリケーションにおけるメモリ永続化の実践
knishioka
1
250
Text-to-SQLをLangSmithで評価
knishioka
0
160
効果的なLLM評価法 LangSmithの技術と実践
knishioka
1
320
LangGraphのノード・エッジ・ルーティングを深堀り
knishioka
1
440
LangGraphでマルチエージェントワークフローを構築
knishioka
0
350
LLMアプリケーションで使用するVector Databaseの比較
knishioka
0
2.1k
LLMアプリケーションの デバッグ・テスト・評価・監視を楽にするLangSmith
knishioka
0
290
Other Decks in Technology
See All in Technology
【Pycon mini 東海 2024】Google Colaboratoryで試すVLM
kazuhitotakahashi
2
520
データプロダクトの定義からはじめる、データコントラクト駆動なデータ基盤
chanyou0311
2
320
生成AIが変えるデータ分析の全体像
ishikawa_satoru
0
150
適材適所の技術選定 〜GraphQL・REST API・tRPC〜 / Optimal Technology Selection
kakehashi
1
660
IBC 2024 動画技術関連レポート / IBC 2024 Report
cyberagentdevelopers
PRO
0
110
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
600
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
750
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
2
1.7k
Lambdaと地方とコミュニティ
miu_crescent
2
370
Python(PYNQ)がテーマのAMD主催のFPGAコンテストに参加してきた
iotengineer22
0
480
Exadata Database Service on Dedicated Infrastructure(ExaDB-D) UI スクリーン・キャプチャ集
oracle4engineer
PRO
2
3.2k
プロダクト活用度で見えた真実 ホリゾンタルSaaSでの顧客解像度の高め方
tadaken3
0
120
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
StorybookのUI Testing Handbookを読んだ
zakiyama
27
5.3k
Building an army of robots
kneath
302
43k
How GitHub (no longer) Works
holman
310
140k
RailsConf 2023
tenderlove
29
900
The Cult of Friendly URLs
andyhume
78
6k
Thoughts on Productivity
jonyablonski
67
4.3k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Typedesign – Prime Four
hannesfritz
40
2.4k
Statistics for Hackers
jakevdp
796
220k
Designing for Performance
lara
604
68k
Producing Creativity
orderedlist
PRO
341
39k
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での組み込み