データ分析基盤の構築‧運⽤(BigQuery、内製ワークフローエンジンなど) b. 新規施策分析のためのデータ取得、データマート構築、Looker保守運⽤ 3. 分析チーム(データアナリストチーム) a. 施策の振り返り、KPI分析、次期施策の意思決定⽀援 b. 分析のためのデータマート構築、Looker保守運⽤ 解析グループについて
Dataplexとは Data Profiling Data Quality 1. データ品質をテスト‧可視化してくれるサービス a. Auto data quality(マネージド)とData Quality Task(OSSベース)の2種が存在 b. 後者はレガシー。元々前者は機能不⾜だったらしいが2024年末現在はだいぶやれることが増えてきた c. OSS: GoogleCloudPlatform/cloud-data-quality ; Python+dbt 2. Data Profilingの結果を元にテストを⾃動⽣成してくれる機能も存在 3. こちらもBigQueryに統合されている
内製ワークフローエンジンでのテスト Dataplexを選んだ理由 1. フルマネージドサービスである a. Schedulerも内包しており管理するインフラがない 2. エコシステムとドキュメントが充実している a. テストをデプロイするためのTerraform Moduleが存在している b. テストの書き⽅がGoogle Cloudの公式ドキュメントに載っている 3. APIが充実している 4. BigQueryコンソールと統合されている a. BigQueryコンソールをデータカタログとして使うためにスキーマ情報(description)を充実化していた b. データ品質の結果もコンソールから⾒れると必要な情報が⼀箇所にまとまって良さそう 決め⼿
https://github.com/GoogleCloudPlatform/terraform-google-dataplex-auto-data-quality を参考に独⾃カスタマイズ。 a. テストのデプロイ⾃体はTerraform Google Providerにリソース定義がある b. 上記ModuleではYAMLで書かれたテストをTerraformのリソース定義へ変換するロジックを持つ c. 独⾃でSchedulingやSampling, Incrementalの設定もYAMLでできるように拡張 d. 独⾃で対象データセットとテーブル名をファイル名へ埋め込むロジックも実装 e. 詳しくは、Terraform を使⽤してデータ品質ルールをコードとして管理する | Dataplex | Google Cloud 開発フロー②
Timelinessを担保 2. 各カラムがNULLではない、UNIQUEである a. Data Profilingの結果から100テーブルほどのテーブルに対するテストを⾃動⽣成 b. GitHub Copilotで⽣成されたルールを命名。⼈⼒で不要なテストを削除してPR c. 完全性 Completenessを担保 実装済みのテスト TODO 1. ドメインに寄り添ったデータの正確性 Accuracyの担保する 2. 眠っているデータの闇 “data downtime” を洗い出して修正する 3. データ品質テストの結果をBigQueryコンソールから⾒れるようにする a. API経由で実⾏した場合そのままではコンソールから⾒れない。結果のPublishが必要