データ基盤
背景: データ品質を担保するにはデータソースの品質が重要 データソースの品質を担保する手段としてのData Contract Data Contractの表現方法の一つとしてのProtocol Buffers Data ContractとしてProtocol Buffersを使う データの入出力を一箇所に集約、Prot…
前提 DWHやデータマートのリファクタリング、あるいは軽微なカラム追加をした際、意図せず差分が起きていないかを確認したい場面は多いでしょう 「一個カラムを追加するために一個JOINを増すだけ」と思ったら、JOIN先のテーブルに重複があってfan-outしてい…
最近「ああ、これ前職でも前々職でもやったことあるなぁ」という仕事があった。データエンジニア(やその関連職種)として働き始めて約5年、3社でフルタイムとして働いてきて「このスキルは業界や組織規模が変わってもデータエンジニアとしてスキルを求められ…
背景: dbtを使っていてもER図は欲しい! どうやってER図を生成するか どうやってER図を見やすくするか まとめ 背景: dbtを使っていてもER図は欲しい! dbtはモデル間のリネージなど可視化が得意なツールではありますが、万能なわけではありません。モデルの生…
前提: これは何? dbtを使ったデータプロダクトを作っている社内のチームメンバー向けに書いた勉強会用のドキュメントです 社外に公開できるように少し抽象化して書いてます DWHに限らずdbtを使ったデータプロダクトで生かせる話ですが、分かりやすさのために…
背景: データ品質を可視化したい 実装: elementaryを使って、正確性のデータ指標を可視化する 実例: ダミーデータを使った可視化 まとめ 背景: データ品質を可視化したい 運用しているDWHでデータ品質にまつわる問題で苦労したことがない人は少ないと思いま…
背景 ConftestによるTerraformのポリシーテスト 例: ConftestでBigQueryのデータセットのlabelにownerが設定されていることをテストする 実際の業務への取り込み方 背景 権限管理を含め、BigQueryのデータセットの管理をTerraformで行なっている人は多いと思…
なぜ列レベルのアクセス制御とポリシータグが必要か Terraformでポリシータグの作成および権限付与 ポリシータグの付与の仕方 dbt経由の場合 bq loadを使う場合 運用上の注意点 まとめ なぜ列レベルのアクセス制御とポリシータグが必要か 「テーブルの全ての…
Dataplex(旧Data Catalog)によるデータカタログについてあれやこれやれやをまとめておいたポインタが欲しくなってきたので、とりとめもなくつらつらと書きます。 注意点: BigQuery on GCPの運用を前提に書いてます Dataplexはデータカタログ以外の機能もたく…
3行まとめ ビジネスメタデータはデータ生成者にとってもデータ活用者にとっても重要 しかし、カラムのメタデータを同じ説明をあちこちに書いていくのは大変... dbt-osmosisはビジネスメタデータの管理を省力化したり、自動化できる便利なツール 3行まとめ 背…
これは何? 背景: 権限管理とTerraform 権限管理の対象 誰に権限を付与するのか どのスコープで権限を付与するのか どの強さで権限を付与するのか Terraformについて Terraformの概要: 権限管理でTerraformを使うと何がうれしいのか 例: roles/bigquery.jobUs…
背景: データマネジメントのアセスメントのために各部署に現場の課題感をヒアリングしたい 課題: よいヒアリングをするのは簡単ではない 解決案: ヒアリングの型を決める ヒアリングの質問とリサーチの質問を別々に持っておく ヒアリング対象者について事前…
夏休みの自由研究です。軽く触ってみました程度の技術調査なので、あまり当てにしないでください...。 Argo WorkflowsからCloud Workflowsへの移行のモチベーション ワークフローエンジン上で動かしている既存のジョブ Cloud Workflowsとは ワークフローを動…
小ネタです。色々教えてもらったりしたので、記憶が蒸発しないようにメモしておきます。教えてもらった同僚に感謝。 BigQueryのUI上の配列を展開する Data Studioでデータソースのプロジェクトと課金プロジェクトを別のものを使う データ基盤の相談に乗る前…
背景 どうやって異常を検知するか BigQuery MLでの異常検知 検知できるモデルの種類 共通設定 データの前準備 モデルの学習 モデルを元にスロット使用量が異常に増加していないか予測する 所感 背景 BigQueryはオンデマンドとフラットレート(定額料金)がある…
この記事は、BigQuery Advent Calendar 2021の23日目の記事です。8日目の記事も書いているので、このAdvent Calendarで2つ目の記事になります。メタデータ大好き人間なので、今日のネタもメタデータ関連です。 テーブルの最終更新日が知りたい 古の方法: __T…
この記事は、datatech-jp Advent Calendar 2021の1日目の記事です。 datatech-jpというコミュニティについて 何をやっているコミュニティなの? The Self-Service Data Roadmap読み会 Airflow困り事相談会 waiwai会 どういうコミュニティにしていきたいか dat…
前回に引き続き、dbtの運用メモです。簡単にまとめると、こういう感じです。 dbtを使ってDWHを構築しているが、バージョン管理している dbtの都合上、バージョン間の差分が確認しにくい いい感じに差分を確認できるスクリプトを作った 背景 背景: dbtの制約…
dbt運用の小技です。品質の高いデータをユーザーに提供するために一工夫が必要だったので、メモしておきます。 課題感: testを行なってからrunしたい dbtはSQLやデータに対してテスト(dbt test)を行なうことができます。データ品質を高めていく上で、重要な…
最近、自グループのJob Descriptionとロードマップを作成する機会があって、結構いい経験だったのでメモしておきます。 前提: 私自身について Job Descriptionとロードマップの作成に関わる経緯 作成に関わった結果 所感 前提: 私自身について 私自身はただ…
BigQueryのデータセットに対するアクセス権限が手動で追加されていました。手動だと編集された履歴の確認や特定時期の状態を復元ができないため、Terraform管理したい。しかし、データセットがあまりに大量にあって困ったので、スクリプトで楽をしようという…
というのをチームで議論する機会があったので、書いてみます。「うちではこうしている」とか「ここはこっちのほうがいいんじゃない?」とかあったらコメントで教えてください。 背景 / 前提 データウェアハウスのテーブルを社内に広く提供したい 初期の提供時…
注意: ポエム成分多めです、自社のデータ基盤チームの話です。 今日はチームの振り返り会で「ユーザー問い合わせは宝の宝庫」的な話題*1が出て、めっちゃ分かる〜となった。データ基盤チームへの問い合わせなので XXXデータセットにYYYの権限を付与してくだ…
登壇は明日ですが、スライドと発表に至った経緯や発表内容決めるまでに考えたことをまとめておきます。 オープンセミナー岡山 これから始めるデータ活用 from syou6162 発表タイトルに至った経緯 直接の経緯はオープンセミナー岡山の実行委員長であるid:a-kn…
Dataformを初めて使ってみたので、雑に感想を書いておきます。結構よかった。 使ってみようとした背景 Dataformについて 試してみてどうだったか よかった まだまだこれからっぽいところ & 気になり 参考 使ってみようとした背景 今週、社内の開発合宿に参加…
先週はデータ基盤やデータ整備のイベントで2件登壇してきました。どちらもオンライン登壇でした。 Data Engineering Study #4「データ分析基盤の障害対応事例LT祭り」 CROSS Party online 2020 データ整備人が語る!DXにも不可欠なデータ整備の姿 今後の予定…
FAQサイト、サポート問い合わせをせずとも自分で疑問を解決できて便利ですよね。でも、検索した単語が一件もヒットしないと、ちょっとガッカリしてしまします。そういったガッカリを減らすために、簡単なデータ分析を使ってFAQサイトを継続的に改善する話を…
自分が使いたいと思ったBigQuery上のリソース(tableやview)、内容を事前に完全に把握できている、ということは結構少ないのではないかと思います。そういったときに手助けをしてくれるのがメタデータです。BigQueryのリソースに対するメタデータを、Cloud Da…
第3回 データアーキテクト(データ整備人)を”前向きに”考える会という勉強会で、CREとしてデータ基盤を整備する活動についてオンライン登壇しました。 カスタマーサクセスのためのデータ整備人の活動記録 from syou6162 イベント登壇はまあまあやってきたは…
データ基盤の小ネタです。 データ基盤におけるview データ基盤でデータスキャンがそれほど大きくない場合、積極的にviewを使っています(BigQueryを利用しています)。日時のバッチでテーブルとして掃き出してもよいですが、バッチを回さずにクエリをガシガシ…