DEA / ドメイン3 データ運用とサポート

重要な内容

AWS Glue DataBrew

は、コードを書かずに、画面の操作でデータをきれいに整える (クリーニングと正規化をする) ビジュアルなデータ準備ツールです。250 を超える組み込みの変換から選んで手順を組み立て、その手順 (レシピ) をデータセット全体に繰り返し適用できます。で、クラスターの管理は不要です。

DEA では、プロジェクト・レシピ・ジョブの関係、データのプロファイルによる一貫性の調査、データ品質ルールの定義と検証、そして変換対象のデータの準備と可視化が問われます。

Point
  • Brew = 醸造する の意味です。生のデータを手順 (レシピ) に沿って仕込み、使える形に仕上げるイメージです。
  • Recipe = レシピ は、変換の手順を順番に並べたものです。
  • Profile = プロファイル (輪郭) は、データの統計的な特徴 (欠損の割合、値の分布、重複など) をまとめたものです。
  • 和訳

概要

は、サンプルのデータを見ながら変換を試し、決まった手順をジョブで全体に適用する、という流れで使います。

概要の図 データソースS3・Data CatalogRedshift・JDBC データセット プロジェクトサンプルで変換を試す レシピ変換の手順を公開 レシピジョブ全体に適用 プロファイルジョブ統計と品質ルールの検証 出力S3 など プロファイルと検証レポート EventBridge検証結果のイベント
構成要素役割
データセット元データへの読み取り専用の参照です。、 Data Catalog のテーブル、、 のデータベースなどを指定します。
プロジェクトデータのサンプルを表の形で表示し、変換を対話的に試す作業場所です。
レシピ変換の手順の並びです。公開 (publish) すると版が付き、ジョブで使えます。別のデータセットにも再利用できます。
レシピジョブレシピをデータセット全体に適用し、結果を S3 などに出力します。
プロファイルジョブデータの統計を計算し、データ品質ルールを検証します。
ルールセットデータ品質ルールの集まりです。

試験では、「コードを書かずにデータを整えたい」「ビジネスアナリストが自分でデータを準備したい」「データの欠損やの傾向を画面で確かめたい」という要件で DataBrew を選びます。


主要技術

①プロジェクトとサンプル

プロジェクトを開くと、データセットのサンプルが表の形で表示され、列ごとの値の分布や欠損の割合を見ながら変換を試せます。大きなデータでも画面の応答を速く保つため、全体ではなくサンプルを使います。

サンプルの取り方内容
先頭の n 行データの先頭から取ります (既定は先頭の 500 行)。
ランダムな n 行データ全体から無作為に取ります。先頭に偏りがあるデータで使います。
行数500、1,000、2,500 または任意の数で、最大 5,000 行です。

サンプルが小さいほど操作は速くなりますが、データ全体の特徴を反映しにくくなります。先頭の行だけに特定の値が集まっているようなデータでは、ランダムなサンプルを選びます (サンプリングの考え方は #58)。


②レシピと変換 ⚠️ 頻出

レシピには、次のような組み込みの変換を手順として追加します。各手順を適用した前後の様子を、サンプルですぐに確かめられます。

変換の分類例
欠損と不正な値の処理空の値を既定値や平均値で埋める、欠損のある行を削除する、不正な値をフラグで示す
形式の統一日付の形式をそろえる、大文字と小文字をそろえる、前後の空白を除く
重複の除去重複した行を削除する
列の操作列の分割と結合、名前の変更、型の変換、関数による新しい列の作成
構造の変換ピボット、アンピボット、結合 (join)、集計 (group by)、ネストした列の展開
カテゴリと数値の処理ワンホットエンコーディング、の処理、数値の正規化
機密データの処理の列のマスキング、ハッシュ化、暗号化

レシピは公開すると版が付きます。同じレシピを毎日の新しいデータに繰り返し適用でき、レシピの をエクスポートして管理することもできます。


③ジョブとスケジュール

ジョブ役割出力
レシピジョブレシピをデータセット全体に適用します (CSV、、 などの形式、圧縮、パーティションを指定)、Data Catalog のテーブル、 など
プロファイルジョブデータ全体の統計を計算し、品質ルールを検証しますプロファイルと検証レポート (S3 に保存し、コンソールで確認)

ジョブは複数のノードで並列に処理します。最大ノード数 (既定 5)、タイムアウト (既定 48 時間)、再試行の回数を設定できます。料金は、ジョブで使ったノードの時間に対してかかります。

ジョブは のスケジュール (cron 式) で定期的に実行できます。ほかの処理と組み合わせる場合は、 の DataBrew 統合 (ジョブの完了を待つ .sync に対応) や、 から呼び出します。


④データのプロファイルと一貫性の調査 ⚠️ 頻出

プロファイルジョブは、データセット全体 (またはサンプル) の統計を計算します。データの一貫性 (同じ意味の値が同じ形で入っているか) を調べる手がかりになります。

調べられることデータの一貫性での使い方
列ごとの欠損 (空) の件数と割合必須の列が空になっていないか
重複した行の件数同じデータが2回取り込まれていないか
値の分布、最小・最大・平均、ありえない値 (マイナスの年齢など) が入っていないか
一意な値の数、よく出る値「東京」「東京都」「Tokyo」のような表記ゆれがないか
列の間の相関関係があるはずの列の値が矛盾していないか
() の検出機密データが含まれる列を見つける

プロファイルの結果はコンソールでグラフとして可視化されます。 の可視化は、変換の前にデータの状態を確かめるためのもので、利用者向けのダッシュボードには を使います。


⑤データ品質ルール ⚠️ 頻出

ルールセットに、データが満たすべき条件をルールとして定義し、プロファイルジョブで検証します。

ルールの例内容
値の範囲列 APY の値が 0 から 100 の間にある
欠損の割合列 group_name の欠損が 5% を超えない
複数の列への適用列 rate、pay、increase の最大値が 100 を超えない
複数の条件の組み合わせProductId が asin- で始まり、かつ長さが 32 である (すべて / いずれかを選べます)
合格の割合列 A の値が列 B の値より大きい行が 95% 以上ある

ルールセットのどれか1つのルールでも条件を満たさなければ、ルールセット全体が不合格になります。最低限の条件を見るルールセットと、より厳しい条件を見るルールセットを分けて定義することもできます。

検証が終わると、 はルールセットごとに検証結果 (SUCCEEDED、FAILED、ERROR) のイベントを に送ります。これをルールで受けて、不合格なら で通知する、後続の処理を止める、といった自動化ができます。ジョブの状態の変化 (DataBrew Job State Change) のイベントは、ジョブが動き終えたかを示すもので、ルールが不合格でもジョブ自体は成功として届きます。データの合否で後続を分けるときは、検証結果 (DataBrew Ruleset Validation Result) のイベントを使います。

⑤データ品質ルール ⚠️ 頻出の図 FAILED SUCCEEDED プロファイルジョブルールセットを検証 EventBridgeRuleset Validation Result SNS で通知 Step Functions後続の ETL を開始

⑥Glue Data Quality・SageMaker との使い分け

ツール主な利用者向く場面
ビジネスアナリスト、データアナリストコードを書かずに画面でデータを整え、品質を確かめる
データエンジニア でルールを書き、 のパイプラインやカタログのテーブルで品質を継続的に検査する (#57)
Glue ETL ()データエンジニア大規模で複雑な変換をコードで書く
Unified Studio のノートブック、SageMaker Data Wranglerデータサイエンティストの前処理と探索 (#59)

試験対策

①判断マトリクス

問題文のキーワード選ぶもの理由
コードを書かずにデータをクリーニング・正規化 のプロジェクトとレシピ組み込みの変換を画面で組み立てます。
同じ手順を毎日の新しいデータに適用公開したレシピ + レシピジョブ (スケジュール)レシピは再利用できます。
欠損・重複・表記ゆれの傾向を調べたいプロファイルジョブ列ごとの統計と分布を計算します。
「欠損が 5% 以下」などの条件を検証データ品質ルール (ルールセット) + プロファイルジョブ条件の合否を検証レポートにします。
品質の検証に失敗したら通知 のルール + 検証結果のイベントを受けて通知します。
先頭の行に偏りがあるデータでレシピを作るランダムなサンプルデータ全体の特徴を反映させます。
ジョブを他の処理と順に動かす の DataBrew 統合ジョブの完了を待って次へ進めます。
の列を隠したいDataBrew のマスキング・ハッシュ化の変換変換の手順として追加できます。

②よくある誤答

  • 大規模で複雑な変換を、開発者がコードで管理したいのに を選ぶこと。その場合は のジョブです。
  • プロジェクトのサンプルに対する変換で、データ全体が変換されると考えること。全体への適用はレシピジョブで行います。
  • DataBrew の可視化を、利用者に共有するダッシュボードと考えること。共有するダッシュボードは です。

参考文献

  1. ※1出題比率: AWS 公式の試験ガイドに記載された、採点対象の設問のうちその分野が占める割合です。

検索

キーワードを入力してください