Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Lookerとdbtの共存

 Lookerとdbtの共存

Looker User Meetup Online #8 での発表資料になります

Toshiki Tsuchikawa

July 21, 2022
Tweet

More Decks by Toshiki Tsuchikawa

Other Decks in Programming

Transcript

  1. 2022/07/21 土川 稔生
    Lookerとdbtの共存
    @tvtg_24
    1

    View Slide

  2. 目次
    ● 自己紹介
    ● Looker導入背景
    ● dbt導入背景
    ● 共存するために🚀
    2

    View Slide

  3. 土川 稔生 (Tsuchikawa Toshiki)
    ● 愛知県出身
    ● 2020年 東工大情報理工学院卒
    ● 株式会社タイミー
    ○ DRE (Data Reliability Engineering) チーム
    ○ データ基盤の開発・保守・運用
    ○ 分析基盤の開発・保守・運用
    ● Twitter @tvtg_24
    3
    自己紹介

    View Slide

  4. View Slide

  5. View Slide

  6. 6
    最近のデータ基盤

    View Slide

  7. 7
    最近のデータ基盤

    View Slide

  8. 1 Lookerの導入背景

    View Slide

  9. 9
    Looker導入前

    View Slide

  10. クエリの修正お
    願いします
    このダッシュボードの
    作成お願いします
    10
    Lookerの導入背景
    🔥 Redash運用の限界
    ● SQLを書く人によって、項目の定義が異なり数値
    がずれている。
    ● SQLを書ける人が限られており、素早い意思決定
    ができない。
    ● SQLを書く人によっては間違ったクエリを書いてお
    り、データの信頼性が担保されない。
    💡 Lookerの導入
    ● Lookerで事前にSQLを定義してあげることで、ク
    エリの書き方によるズレを減らす。
    ● 誰でもダッシュボードを簡単に作成できるようにす
    ることで、データ活用促進を期待

    View Slide

  11. 11
    Looker導入後

    View Slide

  12. 2 dbtの導入背景
    12

    View Slide

  13. 13
    dbtとは
    💡 ELTのT (データ変換) を担当するツール
    ● Data Build Toolの略称
    ● pythonで開発されており、 SQLに加え、Jinja &
    Macroを利用が可能
    ○ SQLを用いるので分析チームと知見を
    共有しやすい
    ○ Jinja & Macroで効率よくコーディングが
    できる
    ● OSS版と有料のCloud版がある
    ○ Cloud版はスケジュール設定、 IDE、
    CI/CDなどのサポートがされている
    ○ 1人につき 50$/month
    ○ 弊社は導入時2人チームだったこともあ
    り、dbt Cloudを導入

    View Slide

  14. 14
    🔥 ETLのT処理のツール依存性、肥大化、不透明性
    ● troccoなどのembulk以外のデータパイプライン
    の導入によりT処理がembulkに依存している
    ● embulkのコードを読まないと T処理の内容が
    把握できず、分析者からすると不透明な処理
    である
    ● データウェアハウスなどを作り込む際に複雑な
    加工をする必要がある
    dbt Cloudの導入
    💡 dbt Cloudの導入によるELTパイプラインの構築
    ● dbt Cloudを用いてembulkで行っていたT処理
    を代替
    ● データパイプラインに用いているツールに依存
    せずに、BigQueryに収集したデータに対して
    様々な加工が可能に
    ● 加工を一箇所に集めることで、分析者に加工
    情報を適切に伝えられるように期待
    マスキングなどの加工処理

    View Slide

  15. 3 Lookerとdbtの共存
    15

    View Slide

  16. 16
    LookerのDerived Tableについて
    💡 LookerのDerived Tableについて
    ● Derived Table (派生テーブル) はLooker上で用いるこ
    とができるviewテーブルのようなもの
    ● 派生テーブルを永続化することで BigQueryに実テーブ
    ルを生成しながら用いることもできる
    ○ PDT (Persistent Derived Table)と呼ばれる
    ● 増分だけを日々更新しながら永続化したりできる
    Derived Tableの永続化

    View Slide

  17. 17
    dbt (Cloud)による基盤構築
    💡 dbtによるDWHモデリングについて
    ● dbtとはSQL + JinjaでDWHでの加工をするツール
    ● dbt CloudとdbtのCLIバージョンがあり、 Cloudはインフラなどがマネージドである
    ● DWHをdbtにより複数層構築し、分析用のビジネス要件などを素早く、柔軟に取り込むことができる

    View Slide

  18. 18
    dbt vs PDT
    🔥 dbt と PDT (永続化したDerived Table) の役割が一部被っている
    ● 特にBIツールに接続する直前のデータ層で被る
    ○ dbt, PDTどちらもデータを書き込むことが可能
    ● 開発の際に迷うので役割を定義する必要がありそう

    View Slide

  19. 19
    dbtとPDTの役割定義
    💡 LookerのDerived Tableの用途を制限することで解決する
    ● Lookerのみで用いる一時 (中間) テーブルについては Derived Tableを用いる
    ● 永続化に関してはデータスキャン量の大きいテーブルに関しての増分更新などによるメリットを享受できる際に使
    用する
    ● 他のBIツールで使用するために LookerからPDTによりテーブルを生成することはしない

    View Slide

  20. 20
    さいごに
    https://meety.net/matches/mEJpInxGNfUY
 https://www.wantedly.com/projects/579810


    View Slide