目次
1. はじめに
皆さんこんにちは。
今回はAzure Databricks Delta Live Tablesの品質管理について説明していきます。
この連載では、Azure DatabricksのDelta Live Tablesの基本から実行手順について説明しています。
前回、前々回の記事はぜひ下記リンクからご覧ください!
第1回:Delta Live Tablesの基本を知ろう
第2回:Delta Live Tablesのパイプラインを実装してみよう
第3回:Delta Live Tablesのデータの品質管理とは?(今回)
2.【おさらい】Delta Live Tablesパイプラインとは?
Delta Live Tablesパイプラインは、
Delta Live Tablesでデータ処理ワークフローを構成して実行するためのリソースです。
詳しくは第1回目の記事をご覧ください。
3.Delta Live Tablesのデータの品質管理とは?
Delta Live Tablesの品質管理とは、データパイプラインの出力に対してデータ品質チェックを定義し、
実行し、結果を記録する機能です。
データ品質チェックの結果は、イベントログに保存され、ユーザーインタフェースやAPIで確認できます。
また、データ品質のエラーが発生した際は事前に定義したエラーポリシーに基づいて対処することができます。
4.データ品質管理手順
【準備】Delta Live Tablesのパイプラインを作成しておく
前回の記事を参考に、パイプラインを作成します。
4-1.パイプラインIDを取得する
① Delta Live Tables > Delta Live Tables > 該当のパイプラインを選択します。
② パイプラインIDをメモします。
4-2.ログテーブルをUnity Catalogに登録する
① サイドバーからSQL Editorを開きます。
② New queryにログテーブルをUnity Catalogに登録するコマンドを入力します。
{Table name} → テーブル名
{Pipeline ID} → メモしたパイプラインID
1 2 3 4 |
CREATE TABLE {Table name} USING DELTA AS SELECT * FROM event_log(“{Pipeline ID}") |
4-3.結果を集計し、パスしたレコード数と失敗したレコード数を求めるクエリを実行する
①+ > Create new query をクリックします。
②クエリを実行します。
以下のSQLはデータ品質チェックの結果を集計して、各チェックに対してパスしたレコード数と失敗したレコード数を求めるものです。
{Table name} → 作成したテーブル名
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
WITH all_expectations AS( SELECT explode(from_json(details :flow_progress :data_quality :expectations, schema_of_json("[{'name':'str', 'dataset':'str', 'passed_records':'int', 'failed_records':'int'}]"))) AS expectation FROM {Table name} WHERE details :flow_progress.metrics IS NOT NULL ) SELECT expectation_name, X_Axis, SUM(Y_Axis) AS Y_Axis FROM ( SELECT expectation.name AS expectation_name, 'Passed' AS X_Axis, expectation.passed_records AS Y_Axis FROM all_expectations UNION ALL SELECT expectation.name AS expectation_name, 'Failed' AS X_Axis, expectation.failed_records AS Y_Axis FROM all_expectations ) GROUP BY expectation_name, X_Axis ; |
結果が以下の画像通りです。
4-4.ビジュアライゼーションを確認する
①+ > Visualization をクリックします。
②ビジュアライゼーションを確認することができます。
以下の例以外にも様々なチャートやビジュアライゼーションを表示することができます。
【例】
Visualization type → Pie
X column → X_Axis
Y columns → Y_Axis
Group by → expectation_name
5. まとめ
本記事ではAzure DatabricksのDelta Live Tablesのデータの品質管理について説明しました。
この連載では、Azure DatabricksのDelta Live Tablesの基本から実行手順について説明しています。
是非合わせてご覧ください。
第1回:Delta Live Tablesの基本を知ろう
第2回:Delta Live Tablesのパイプラインを実装してみよう
第3回:Delta Live Tablesのデータの品質管理とは?(今回)
今回の記事が少しでも皆さんの新しい知識や業務のご参考になれば幸いです。
日商エレクトロニクスでは、Azure Databricksの環境構築パッケージを用意しています。
Azure DatabricksやAzure活用、マイクロソフト製品の活用についてご相談事がありましたら
是非お問い合わせください!
Azure Databricks連載記事のまとめはこちら
この記事を読んだ方へのオススメコンテンツはこちら
この記事を書いた人
- 力石 玲菜