データ基盤

dbtで見やすいER図を生成する

背景: dbtを使っていてもER図は欲しい! どうやってER図を生成するか どうやってER図を見やすくするか まとめ 背景: dbtを使っていてもER図は欲しい! dbtはモデル間のリネージなど可視化が得意なツールではありますが、万能なわけではありません。モデルの生…

DWH改善に生かす! 入門elementary

前提: これは何? dbtを使ったデータプロダクトを作っている社内のチームメンバー向けに書いた勉強会用のドキュメントです 社外に公開できるように少し抽象化して書いてます DWHに限らずdbtを使ったデータプロダクトで生かせる話ですが、分かりやすさのために…

elementaryを使ってデータの正確性に関わるデータ品質の実装状況を可視化する

背景: データ品質を可視化したい 実装: elementaryを使って、正確性のデータ指標を可視化する 実例: ダミーデータを使った可視化 まとめ 背景: データ品質を可視化したい 運用しているDWHでデータ品質にまつわる問題で苦労したことがない人は少ないと思いま…

Terraform経由でBigQueryのデータセットを管理する際に必要なメタデータが入力されていることをConftestで担保する

背景 ConftestによるTerraformのポリシーテスト 例: ConftestでBigQueryのデータセットのlabelにownerが設定されていることをテストする 実際の業務への取り込み方 背景 権限管理を含め、BigQueryのデータセットの管理をTerraformで行なっている人は多いと思…

BigQueryの列レベルのアクセス制御とポリシータグの調査メモ

なぜ列レベルのアクセス制御とポリシータグが必要か Terraformでポリシータグの作成および権限付与 ポリシータグの付与の仕方 dbt経由の場合 bq loadを使う場合 運用上の注意点 まとめ なぜ列レベルのアクセス制御とポリシータグが必要か 「テーブルの全ての…

Dataplex(旧Data Catalog)によるデータカタログの調査

Dataplex(旧Data Catalog)によるデータカタログについてあれやこれやれやをまとめておいたポインタが欲しくなってきたので、とりとめもなくつらつらと書きます。 注意点: BigQuery on GCPの運用を前提に書いてます Dataplexはデータカタログ以外の機能もたく…

dbt-osmosisを利用して、なるべくコストを抑えつつ効率的にメタデータ管理を行なう

3行まとめ ビジネスメタデータはデータ生成者にとってもデータ活用者にとっても重要 しかし、カラムのメタデータを同じ説明をあちこちに書いていくのは大変... dbt-osmosisはビジネスメタデータの管理を省力化したり、自動化できる便利なツール 3行まとめ 背…

データエンジニア / Analytics Engineer向けの権限管理のためのTerraform紹介

これは何? 背景: 権限管理とTerraform 権限管理の対象 誰に権限を付与するのか どのスコープで権限を付与するのか どの強さで権限を付与するのか Terraformについて Terraformの概要: 権限管理でTerraformを使うと何がうれしいのか 例: roles/bigquery.jobUs…

データ活用の関係者に課題感のヒアリングをする時の型を紹介する

背景: データマネジメントのアセスメントのために各部署に現場の課題感をヒアリングしたい 課題: よいヒアリングをするのは簡単ではない 解決案: ヒアリングの型を決める ヒアリングの質問とリサーチの質問を別々に持っておく ヒアリング対象者について事前…

Argo Workflowsの代替としてのCloud Workflowsの調査

夏休みの自由研究です。軽く触ってみました程度の技術調査なので、あまり当てにしないでください...。 Argo WorkflowsからCloud Workflowsへの移行のモチベーション ワークフローエンジン上で動かしている既存のジョブ Cloud Workflowsとは ワークフローを動…

最近教えてもらった/思い付いたデータ基盤周りのTips

小ネタです。色々教えてもらったりしたので、記憶が蒸発しないようにメモしておきます。教えてもらった同僚に感謝。 BigQueryのUI上の配列を展開する Data Studioでデータソースのプロジェクトと課金プロジェクトを別のものを使う データ基盤の相談に乗る前…

BigQuery MLでスロット使用量が急増しているプロジェクトやユーザーを異常検知する

背景 どうやって異常を検知するか BigQuery MLでの異常検知 検知できるモデルの種類 共通設定 データの前準備 モデルの学習 モデルを元にスロット使用量が異常に増加していないか予測する 所感 背景 BigQueryはオンデマンドとフラットレート(定額料金)がある…

テーブルの最終更新日をINFORMATION_SCHEMA.PARTITIONSから調査する

この記事は、BigQuery Advent Calendar 2021の23日目の記事です。8日目の記事も書いているので、このAdvent Calendarで2つ目の記事になります。メタデータ大好き人間なので、今日のネタもメタデータ関連です。 テーブルの最終更新日が知りたい 古の方法: __T…

データエンジニアリングやデータ活用の知見を共有するコミュニティdatatech-jpをやってますという話

この記事は、datatech-jp Advent Calendar 2021の1日目の記事です。 datatech-jpというコミュニティについて 何をやっているコミュニティなの? The Self-Service Data Roadmap読み会 Airflow困り事相談会 waiwai会 どういうコミュニティにしていきたいか dat…

dbtを使っている場合のバージョン間の差分をいい感じに出すスクリプトを作った

前回に引き続き、dbtの運用メモです。簡単にまとめると、こういう感じです。 dbtを使ってDWHを構築しているが、バージョン管理している dbtの都合上、バージョン間の差分が確認しにくい いい感じに差分を確認できるスクリプトを作った 背景 背景: dbtの制約…

dbtでrunの前にtestを実行したい場合にephemeralを使う

dbt運用の小技です。品質の高いデータをユーザーに提供するために一工夫が必要だったので、メモしておきます。 課題感: testを行なってからrunしたい dbtはSQLやデータに対してテスト(dbt test)を行なうことができます。データ品質を高めていく上で、重要な…

エンジニアがJob Descriptionとロードマップの作成に関わって感じたこと

最近、自グループのJob Descriptionとロードマップを作成する機会があって、結構いい経験だったのでメモしておきます。 前提: 私自身について Job Descriptionとロードマップの作成に関わる経緯 作成に関わった結果 所感 前提: 私自身について 私自身はただ…

BigQueryのデータセットに対する大量のアクセス権限をTerraformで管理する

BigQueryのデータセットに対するアクセス権限が手動で追加されていました。手動だと編集された履歴の確認や特定時期の状態を復元ができないため、Terraform管理したい。しかし、データセットがあまりに大量にあって困ったので、スクリプトで楽をしようという…

データウェアハウスのバージョン管理をどうやるか

というのをチームで議論する機会があったので、書いてみます。「うちではこうしている」とか「ここはこっちのほうがいいんじゃない?」とかあったらコメントで教えてください。 背景 / 前提 データウェアハウスのテーブルを社内に広く提供したい 初期の提供時…

ユーザー問い合わせは宝の宝庫 & データ基盤構築の魅力

注意: ポエム成分多めです、自社のデータ基盤チームの話です。 今日はチームの振り返り会で「ユーザー問い合わせは宝の宝庫」的な話題*1が出て、めっちゃ分かる〜となった。データ基盤チームへの問い合わせなので XXXデータセットにYYYの権限を付与してくだ…

「今日から始めるデータ活用」というタイトルでオープンセミナー岡山に登壇します

登壇は明日ですが、スライドと発表に至った経緯や発表内容決めるまでに考えたことをまとめておきます。 オープンセミナー岡山 これから始めるデータ活用 from syou6162 発表タイトルに至った経緯 直接の経緯はオープンセミナー岡山の実行委員長であるid:a-kn…

開発効率を計測するデータ基盤の管理にDataformを使ってみた

Dataformを初めて使ってみたので、雑に感想を書いておきます。結構よかった。 使ってみようとした背景 Dataformについて 試してみてどうだったか よかった まだまだこれからっぽいところ & 気になり 参考 使ってみようとした背景 今週、社内の開発合宿に参加…

Data Engineering StudyとCROSS Party online 2020に登壇しました

先週はデータ基盤やデータ整備のイベントで2件登壇してきました。どちらもオンライン登壇でした。 Data Engineering Study #4「データ分析基盤の障害対応事例LT祭り」 CROSS Party online 2020 データ整備人が語る!DXにも不可欠なデータ整備の姿 今後の予定…

データ分析を元にFAQサイトを継続的に改善する

FAQサイト、サポート問い合わせをせずとも自分で疑問を解決できて便利ですよね。でも、検索した単語が一件もヒットしないと、ちょっとガッカリしてしまします。そういったガッカリを減らすために、簡単なデータ分析を使ってFAQサイトを継続的に改善する話を…

BigQueryのテーブルのメタデータをCloud Data Catalogで管理する

自分が使いたいと思ったBigQuery上のリソース(tableやview)、内容を事前に完全に把握できている、ということは結構少ないのではないかと思います。そういったときに手助けをしてくれるのがメタデータです。BigQueryのリソースに対するメタデータを、Cloud Da…

カスタマーサクセスのためのデータ整備人の活動記録というタイトルでオンライン登壇しました

第3回 データアーキテクト(データ整備人)を”前向きに”考える会という勉強会で、CREとしてデータ基盤を整備する活動についてオンライン登壇しました。 カスタマーサクセスのためのデータ整備人の活動記録 from syou6162 イベント登壇はまあまあやってきたは…

データウェアハウスやデータマートのviewが壊れていないかvalidationする

データ基盤の小ネタです。 データ基盤におけるview データ基盤でデータスキャンがそれほど大きくない場合、積極的にviewを使っています(BigQueryを利用しています)。日時のバッチでテーブルとして掃き出してもよいですが、バッチを回さずにクエリをガシガシ…

データに関連するいくつかの見方と私

ポエムです。元々書きたかったエントリがあったのですが、長くなってしまったのでパーツ毎に切り出します。 自分のやりたい方向性やキャリア的なものを考えると、大体その中心には「データ」がいます。データに対してどう向き合い方はいくつかパターンがある…