
【PythonとSparkで始めるデータマネジメント入門】 ビッグデータレイクのためのテーブルデータ品質管理入門
のコース紹介です。
データはゴミ箱に捨てるようにただ「データレイク」や「データウェアハウス」に保存しておけばいいだけではなく、
データは想定通りの状態か?
想定通りでない場合にはどのようなアクションを起こすべきなのか?
と言った一連の流れを管理する方法を学びます。
データエンジニアリングよりの講座です
難しいいサイエンスや数学は出てきませんが、データの3職種のうちの一つである「データエンジニア」のためのコースです
データを使うだけではなく、データを管理する方法を学んでいきます
講師の自己紹介です。
本コース含めた学習ロードマップについて紹介します。
大変お手数ですが、レビューを頂けますと幸いです。
これからの励みや、改善に利用させていただこうと思います!
データ品質管理を包括する、データマネジメントの概念について確認します
より良いデータを実現するためのデータ品質管理について学んでいきましょう
データ品質管理の最適な比率について学んでいきます。
机上の空論ばかりではいけませんし、無計画でアクションを取るばかりでもいけません。
おすすめの比率について紹介します。
データ品質管理を構成するプロセスの一つであるデータ品質について紹介します。
データ品質はデータの状態を可視化することによってより正しいデータかそうでないかを定量的に表現しようとする試みです。
またデータ品質のテストとは、データの劣化に素早く気づき対処するための方式です。
ご自身で考える「データとはこうあるべき」を実現していくためのテストを記載することです。
以下のポイントについて学んでいきます。
一貫性
正確性
完全性
適時性
ユニーク性
有効性
データ品質は思っている以上に達成が難しいです。
多くのデータが集まるデータ分析基盤の文脈からデータ品質について見ていきましょう。
データは放っておくだけだとどんどん劣化します。
劣化するパターンを知って対策に繋げていきましょう。
メタデータについて学びます
環境構築のための説明です
今回のコースで利用するデータの確認をおこなっていきます。
まずはご自身が行うテストがどのレベル(テーブル?カラム?テーブル間)なのかを確認していきます
そのほかのテストとして、
最大(maximum)、最小( minimum)、平均( mean)、中央値( median)、最頻値(mode)、分散( variance)、標準偏差( standard deviation)基本統計量を取得を紹介します。
主にデータの傾向を掴むために利用されます。
四則演算の結果について確認するのが、ゼロコントロールです。
データが特定の範囲に入っているのか?確認するのがレンジテストと辞書テストです。
もしAの値が1ならばBの値は2のようなテストを行うのがif-thenテストです。
データにNullが含まれていたりユニークでないとデータが非常に扱いにくいです。
Nullチェックとユニークネスを通して扱いにくいデータを見つけ出していきましょう。
特定の正規表現にデータが沿っているのか?をチェックするパターンチェックについて学びます
2つのコンシステンシーを見ていきましょう
テーブル間の紐付きの割合で見るエクスターナルコンシステンシーについて確認していきます
レイショーコントロールとは、想定した割合について確認するテストのことです
ストリーミングにも使えるレイショーコントロールです。
データがしっかりと特定の時間に処理されているでしょうか?
実データだけではなくて、メタデータについてのテストについても考え実践していきます。
テーブルレベルのテストとして実施されることが多い件数のテストです。
サイレントに処理が失敗しているなどもあり得ます。件数を確認してアクションをすぐに起こせるようにしていきましょう
カラム数のチェックをしてみます
データのリペアには3種類あります。
プリベンション(元から断つ)
不備を見つけて再集計する
ユーザからの指摘を元にデータを修正する
データの品質としてストリーミングのテストも考えたい場合もあるかと思います。
ストリーミングのデータ品質の確保はどのように行われるのでしょうか?
データ品質をメタデータと連携するとより効果的に状況を伝えることが可能になります。
データ品質とメタデータの連携について学んでいきましょう。
これまで取得したメタデータをmysqlに対して書き込んで確認していきましょう
データの元をそもそも修正されていれば苦労しない点も多いのも事実です。
エンジニアとしてどのような活動ができるでしょうか?
現役のデータエンジニアがレクチャーします!
AIや機械学習を行う際に最も時間のかかる作業は、データの準備とそれらの管理です。これらの作業のことをデータエンジニアリングと呼びます。実に80%以上の時間をデータエンジニアリング(データサイエンスのための前処理やメタデータ管理)に割いてるのが現状です。
本コースではSparkを使ったデータエンジニアリングにおけるデータ品質管理について学びます。
データ品質を担保しなければデータ組織のデータ活用の生産性低下は免れません。
本コースを受講してデータを管理するという新たな方向へと舵を切りましょう。
データ品質管理とは、データ活用の生産性を高めるためのデータを資産と考えるプロセスの一つです。
データはゴミ箱に捨てるようにただ「データレイク」や「データウェアハウス」に保存しておけばいいだけではなく、
データは想定通りの状態か?
想定通りでない場合にはどのようなアクションを起こすべきなのか?
と言った一連の流れを管理することにあります。
ポイント:
PySparkを使いながら以下のデータ品質項目について算出を行う実践講座です。
一貫性
正確性
完全性
適時性
ユニーク性
有効性
特徴:
データエンジニアリングよりの講座です。
難しいいサイエンスや数学は出てきませんが、データの3職種のうちの一つである「データエンジニア」のためのコースです。
普段Pythonを使っている方やこれからAIやビッグデータの分野にエンジニアとして参画してデータを自在に操りたいという方にはぴったりです
データ品質を管理して、データ分析という行為にさらに付加価値を加えたい方
ソースコードや解説は以下のGitHubリポジトリにあります。
動画内ではGitHubの資料に加え補足をしながら解説を進めています。