企業は、意思決定、レポート作成、機械学習(ML)などのプロセスを推進するために、毎日ますます多くのデータを収集しています。 データをクリーンアップして変換する前に、データが使用に適しているかどうかを判断する必要があります。 誤ったデータ、欠落したデータ、または不正な形式のデータは、ダウンストリーム分析とMLプロセスに大きな影響を与える可能性があります。 データ品質チェックを実行すると、ワークフローの早い段階で問題を特定できるため、問題をより迅速に解決できます。 さらに、イベントベースのアーキテクチャを使用してこれらのチェックを実行すると、手動のタッチポイントを減らし、データ量の増加に合わせて拡張できます。
AWS グルー DataBrew は、データ内の重複値、欠落値、外れ値などのデータ品質統計を簡単に見つけることができる視覚的なデータ準備ツールです。 DataBrewでデータ品質ルールを設定して、固有のビジネスニーズに基づいて条件付きチェックを実行することもできます。 たとえば、製造元は、特に Part ID
列、または医療提供者は、 SSN
列は特定の長さです。 DataBrewを使用してこれらのルールを作成および検証した後、次を使用できます。 アマゾンイベントブリッジ, AWSステップ関数, AWSラムダ, Amazon シンプル通知サービス (Amazon SNS)自動化されたワークフローを作成し、ルールが検証チェックに失敗したときに通知を送信します。
この投稿では、エンドツーエンドのワークフローとこのソリューションの実装方法について説明します。 この投稿には、ステップバイステップのチュートリアルが含まれています。 AWSサーバーレスアプリケーションモデル (AWS SAM)テンプレート、および独自のAWS環境にアプリケーションをデプロイするために使用できるサンプルコード。
ソリューションの概要
この投稿の解決策は サーバーレス データ品質検証のための完全に自動化されたエンドツーエンドのイベント駆動型パイプラインを構築するAWSサービス。 次の図は、ソリューションアーキテクチャを示しています。
ソリューションワークフローには、次の手順が含まれます。
- 新しいデータをにアップロードするとき Amazon シンプル ストレージ サービス (Amazon S3)バケット、イベントはEventBridgeに送信されます。
- EventBridgeルールは、StepFunctionsステートマシンの実行をトリガーします。
- ステートマシンは、データ品質ルールセットとルールで構成されたDataBrewプロファイルジョブを開始します。 同様のソリューションの構築を検討している場合は、DataBrewプロファイルジョブの出力場所とソースデータのS3バケットが一意である必要があります。 これにより、再帰的なジョブの実行が防止されます。 リソースを次のように展開します AWS CloudFormation テンプレート。一意のS3バケットを作成します。
- Lambda関数は、Amazon S3からデータ品質の結果を読み取り、ブール応答をステートマシンに返します。 関数は戻ります
false
ルールセット内のXNUMXつ以上のルールが失敗した場合、true
すべてのルールが成功した場合。 - ブール応答が
false
、ステートマシンはAmazon SNSでEメール通知を送信し、ステートマシンはで終了しますfailed
状態。 ブール応答がtrue
、ステートマシンはで終了しますsucceed
状態。 このステップでソリューションを拡張して、成功または失敗したときに他のタスクを実行することもできます。 たとえば、すべてのルールが成功した場合、EventBridgeメッセージを送信して、DataBrewで別の変換ジョブをトリガーできます。
この投稿では、AWS CloudFormationを使用して、イベント駆動型データ品質検証ソリューションの完全に機能するデモをデプロイします。 有効なコンマ区切り値(CSV)ファイルをAmazon S3にアップロードし、その後に無効なCSVファイルをアップロードして、ソリューションをテストします。
手順は以下の通りです。
- CloudFormationスタックを起動して、ソリューションリソースをデプロイします。
- ソリューションをテストします。
- 有効なCSVファイルをAmazonS3にアップロードし、データ品質の検証とステップ関数ステートマシンが成功することを確認します。
- 無効なCSVファイルをAmazonS3にアップロードし、データ品質の検証とStep Functionsステートマシンの失敗を確認し、AmazonSNSから電子メール通知を受信します。
すべてのサンプルコードは、 GitHubリポジトリ.
前提条件
このチュートリアルでは、次の前提条件を満たしている必要があります。
AWSCloudFormationを使用してソリューションリソースをデプロイする
CloudFormationスタックを使用して、イベント駆動型のデータ品質検証ソリューションに必要なリソースをデプロイします。 スタックには、DataBrewのサンプルデータセットとルールセットが含まれています。
- AWSアカウントにサインインしてから、 発射スタック:
- ソフトウェア設定ページで、下図のように クイック作成スタック ページ、 電子メールアドレス、AmazonSNSメール通知の有効なメールアドレスを入力します。
- 残りのオプションはデフォルトに設定したままにします。
- 確認チェックボックスを選択します。
- 選択する スタックを作成します。
CloudFormationスタックに到達するのに約5分かかります CREATE_COMPLETE
状態。
- 指定したメールアドレスの受信トレイを確認し、SNSサブスクリプションに同意してください。
ウォークスルーの最後に電子メール通知機能を示すには、サブスクリプションの確認を確認して受け入れる必要があります。
ソフトウェア設定ページで、下図のように 出力 スタックのタブには、テンプレートが作成したDataBrewおよびStepFunctionsリソースを参照するためのURLがあります。 また、後の手順で使用する完成したAWSCLIコマンドにも注意してください。
あなたが AWSGlueDataBrewRuleset
値のリンクをクリックすると、次のスクリーンショットのように、ルールセットの詳細ページが表示されます。 このウォークスルーでは、欠落している値、外れ値、および文字列の長さをチェックするXNUMXつのルールを含むデータ品質ルールセットを作成します。
ソリューションをテストする
次の手順では、AWS CLIを使用してCSVファイルの正しいバージョンと正しくないバージョンをアップロードし、イベントドリブンのデータ品質検証ソリューションをテストします。
- ターミナルまたはコマンドラインプロンプトを開き、AWSCLIを使用してサンプルデータをダウンロードします。 CloudFormationスタック出力からのコマンドをキー名で使用します
CommandToDownloadTestData
: - AWS CLIを再度使用して、変更されていないCSVファイルをS3バケットにアップロードします。 文字列を置き換えます バケット名を使用するか、CloudFormationテンプレートの出力から提供されたコマンドをコピーして貼り付けます。
- ステップ関数コンソールで、CloudFormationテンプレートによって作成されたステートマシンを見つけます。
前述のCloudFormation出力でURLを見つけることができます。
データ品質ルールの失敗を示すために、少なくともXNUMX回編集します。 votes.csv
ファイルにソフトウェアを指定する必要があります。
- 好みのテキストエディタまたはスプレッドシートツールでファイルを開き、XNUMXつのセルだけを削除します。
次のスクリーンショットでは、LinuxでGNUNanoエディターを使用しています。 スプレッドシートエディタを使用してセルを削除することもできます。 これにより、「欠落している値がないかすべての列をチェックする」ルールが失敗します。
次のスクリーンショットは、変更前のCSVファイルを示しています。
次のスクリーンショットは、変更されたCSVファイルを示しています。
- 編集したものを保存する
votes.csv
ファイルを作成し、コマンドプロンプトまたはターミナルに戻ります。 - AWS CLIを使用して、ファイルをS3バケットにもう一度アップロードします。 以前と同じコマンドを使用します。
- ステップ関数コンソールで、実行されている最新のステートマシンに移動して監視します。
データ品質の検証が失敗し、SNS電子メール通知がトリガーされ、ステートマシン全体の実行が失敗します。
次の画像は、障害が発生したステートマシンのワークフローを示しています。
- DataBrewコンソールでルールの失敗を調査するには、
AWSGlueDataBrewProfileResults
CloudFormationスタック出力の値。
クリーンアップ
今後の請求を回避するには、リソースを削除してください。 AWS CloudFormationコンソールで、という名前のスタックを削除します AWSBigDataBlogDataBrewDQSample
.
まとめ
この投稿では、自動化されたイベント駆動型のデータ品質検証パイプラインを構築する方法を学びました。 DataBrewを使用すると、ビジネス要件および技術要件のデータ品質ルール、しきい値、およびルールセットを定義できます。 Step Functions、EventBridge、およびAmazon SNSを使用すると、ニーズに合わせてカスタマイズ可能なエラー処理とアラートを備えた複雑なパイプラインを構築できます。
このソリューションとソースコードの詳細については、次のWebサイトをご覧ください。 GitHubリポジトリ。 DataBrewのデータ品質ルールの詳細については、次のWebサイトをご覧ください。 AWS Glue DataBrewにより、お客様はデータ品質ルールを作成して、ビジネス要件を定義および検証できるようになりました。 またはを参照してください AWS GlueDataBrewでのデータ品質の検証.
著者について
レイスアルサードーン は、エンビジョンエンジニアリングチームのプリンシパルプロトタイピングアーキテクトです。 彼は、AI、機械学習、IoTとエッジコンピューティング、ストリーミング分析、ロボット工学、空間コンピューティングを使用してプロトタイプとソリューションを構築し、実際の顧客の問題を解決しています。 余暇には、写真撮影、ドローンフライト、ハイキング、ペイントボールなどのアウトドアアクティビティを楽しんでいます。
ゴードンバージェス AWS GlueDataBrewのシニアプロダクトマネージャーです。 彼は、顧客がデータから洞察を発見できるよう支援することに情熱を注いでおり、分析製品のユーザーエクスペリエンスと豊富な機能の構築に注力しています。 仕事以外では、ゴードンは読書、コーヒー、コンピューターの構築を楽しんでいます。
- '
- &
- 100
- 107
- 7
- 私たちについて
- 活動
- 住所
- AI
- すべて
- Amazon
- 分析論
- 申し込み
- 建築
- 自動化
- AWS
- ビルド
- 建物
- ビジネス
- 課金
- 小切手
- クリーニング
- コード
- コーヒー
- コラム
- 複雑な
- コンピューター
- コンピューティング
- 領事
- Customers
- データ
- データ品質
- 中
- 発見する
- ドローン
- エッジ(Edge)
- エッジコンピューティング
- エディタ
- 終了
- エンジニアリング
- 環境
- イベント
- 例
- エクスペリエンス
- 不良解析
- 速いです
- 特徴
- フィット
- 航空券
- 発見
- 無料版
- function
- 機能
- 未来
- 成長
- ハンドリング
- ヘルスケア
- ことができます
- ハイキング
- 認定条件
- How To
- HTTPS
- 識別する
- 画像
- 実装する
- 洞察
- 調べる
- IOT
- 問題
- IT
- ジョブ
- キー
- 大
- 最新の
- LEARN
- 学んだ
- 学習
- LINE
- LINK
- linuxの
- 場所
- 機械学習
- メーカー
- ML
- 他には?
- ドワーフ
- 必要とされる
- 通知
- オプション
- 注文
- その他
- アウトドア
- 写真撮影
- 校長
- プロダクト
- 製品
- プロフィール
- プロトタイピング
- プロバイダー
- 品質
- リーディング
- 減らします
- replace
- 要件
- リソース
- 応答
- 結果
- 収益
- レビュー
- ロボット工学
- ルール
- ラン
- 規模
- サーバレス
- サービス
- セッションに
- 同様の
- 簡単な拡張で
- So
- ソリューション
- 解決する
- 空間の
- 空間コンピューティング
- 特に
- スプレッドシート
- 都道府県
- 統計
- Status:
- ストレージ利用料
- ストリーミング
- 購読
- 成功
- 技術的
- ターミナル
- test
- ソース
- 介して
- 時間
- ツール
- 変換
- 変換
- チュートリアル
- 値
- 詳しく見る
- 仕事
- ワークフロー