Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Streamlitで開発した自作データカタログの導入
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Ayumu Yamaguchi
November 27, 2024
1.1k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Streamlitで開発した自作データカタログの導入
Ayumu Yamaguchi
November 27, 2024
More Decks by Ayumu Yamaguchi
See All by Ayumu Yamaguchi
【Streamlit x Snowflake】データ基盤からアプリ開発・AI活用まで、すべてをSnowflake内で実現
ayumu_yamaguchi
1
180
Streamlitで実現できるようになったこと、実現してくれたこと
ayumu_yamaguchi
2
740
Cortex_Searchを活用したメタデータ検索Chatbot開発.pdf
ayumu_yamaguchi
0
110
Streamlitの入門書を執筆した話
ayumu_yamaguchi
1
240
Streamlitのデータカタログが社内にもたらした変化
ayumu_yamaguchi
1
1.8k
StreamlitとTerraformでデータカタログを作った話
ayumu_yamaguchi
1
3k
Streamlitを使ってデータカタログを作ってみた
ayumu_yamaguchi
1
660
Featured
See All Featured
Test your architecture with Archunit
thirion
1
2.3k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
230
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.7k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
190
Making Projects Easy
brettharned
120
6.7k
Rails Girls Zürich Keynote
gr2m
96
14k
First, design no harm
axbom
PRO
2
1.2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
23k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
65
56k
Producing Creativity
orderedlist
PRO
348
40k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
590
Leo the Paperboy
mayatellez
7
1.8k
Transcript
© GENDA Inc. Streamlitで開発した自作データカタログの導入 1 データカタログ 事例から学ぶメタデータ管理の実態 2024.11.28 Streamlitで開発した自作データカタログの導入
© GENDA Inc. Streamlitで開発した自作データカタログの導入 2 自己紹介・会社紹介
© GENDA Inc. Streamlitで開発した自作データカタログの導入 3 山口歩夢 所属 株式会社GENDA データエンジニア 経歴
営業職 :4年 データエンジニア:3年 発信 著書 :Streamlit データ可視化入門 Streamlit入門 Pythonで学ぶデータ可視化&アプリ開発入門 ブログ :https://qiita.com/Ayumu-y X(旧Twitter) :https://x.com/Yamaguchi_aaaaa Snowflake Squad:https://www.snowflake.com/en/snowflake-squad/ 自己紹介
© GENDA Inc. Streamlitで開発した自作データカタログの導入 GENDAについて 会社紹介 4 GENDAに多くのグループ企業が所属 グループを横断したデータ活用で利益の向上を目指しています! グループを横断したデータ活用を推進するのが
データチームのミッションです。
© GENDA Inc. Streamlitで開発した自作データカタログの導入 5 GENDA IDについて GENDAには多くの企業が所属し、 非常に多くのプロダクトや幅広い種類のデータが存在しています。 GENDAが提供するサービスの相互送客を可能にする機能
「GENDA ID」を導入し、IDとプロダクトの紐付けを実現します! 会社紹介 GENDA IDのイメージ図
© GENDA Inc. Streamlitで開発した自作データカタログの導入 6 GENDA IDについて これが拡大していけば、 データチームはGENDAの多種多様なデータを 横断的に取り扱うことになります。
GENDAのデータチームで働く楽しい部分の一つです! 会社紹介 GENDA IDのイメージ図
© GENDA Inc. Streamlitで開発した自作データカタログの導入 7 どうしてデータカタログを自作したのか
© GENDA Inc. Streamlitで開発した自作データカタログの導入 8 メタデータの管理・検索機能に特化したものを作りたかった どうしてデータカタログを自作したのか • 有料版やOSSの多機能なデータカタログを導入・活用する前に、社内でデータカタログの重要性を認識してもらう必要があった •
GENDAの幅広い事業でのデータ活用には、データリネージやデータ品質管理などの機能が最終的に必要になると考えた • 初期ステップとして、アナリストの需要を満たすことに特化したデータカタログの作成を検討しようと考えた
© GENDA Inc. Streamlitで開発した自作データカタログの導入 9 費用を抑えたかった どうしてデータカタログを自作したのか • データカタログの有用性が広まっていなかったため、導入時の費用はできるだけ抑えたかった •
有料版は高額だったため、自作することによってこの課題を解決しようと考えた • OSS版は費用面では魅力的だが機能が非常に多すぎるため、 アナリストに提供するにあたって活用しづらい印象を与えてしまう懸念があった
© GENDA Inc. Streamlitで開発した自作データカタログの導入 10 Streamlitを選んだ理由
© GENDA Inc. Streamlitで開発した自作データカタログの導入 11 低コストで必要な機能に特化したデータカタログを導入可能 Streamlitを選んだ理由 • データカタログ導入にあたって、 有料のものは高額でOSSのものは機能が多いためアナリストが混乱する可能性があるという懸念点があった
• データカタログを自作することで、 費用面の課題をクリアしつつアナリストの需要に特化したデータカタログを導入するのが良いのではないかと考えた ドロップダウンでテーブル選択 検索機能
© GENDA Inc. Streamlitで開発した自作データカタログの導入 12 メタデータの最新情報の追跡が容易になると考えた Streamlitを選んだ理由 • Snowflake上のテーブルのCOMMENTにメタデータを入れることで、Snowflake上でメタデータの一元管理が可能となった •
以下のようなクエリを実行して、都度最新のメタデータをSnowflake上で管理した
© GENDA Inc. Streamlitで開発した自作データカタログの導入 13 UIを非常に手軽に構築できる • 便利な関数が多く用意されていて、Pythonを使って非常に簡単にUIを構築可能 • Pythonのみでアプリケーションの開発が行うことができ、データチーム内だけでデータカタログの開発を完結できる
• サーバーエンジニアやフロントエンジニアとのリソースの調整などが不要なため、機能の追加をデータチーム内で完結できる Streamlitを選んだ理由
© GENDA Inc. Streamlitで開発した自作データカタログの導入 14 Streamlit in Snowflakeを使用すれば簡単にアプリを展開できる • インフラの知識がなくてもユーザーにアプリケーションを簡単にデプロイ可能
• しかも、Streamlit in Snowflakeを動かす時と、アプリケーションがテーブルに対してクエリを実行するときに使用するウェアハウスの料 金のみの従来課金制 Streamlitを選んだ理由
© GENDA Inc. Streamlitで開発した自作データカタログの導入 Snowflakeコミュニティが活発である 15 Streamlit Forum SnowVillage Streamlitを選んだ理由
• Snowflakeには、SnowVillageというコミュニティがあり、非常に活発に活動が行われている • 何か困ったことがあっても、気軽にSnowVillageの皆さんに質問や相談をすることができるという点もStreamlitを選んだ理由の一つだった • さらに現在では、Streamlit Forumという Streamlitについて質問やディスカッションができるページが公開されており、誰でも気軽に相談ができる
© GENDA Inc. Streamlitで開発した自作データカタログの導入 16 導入結果や導入時の苦労話
© GENDA Inc. Streamlitで開発した自作データカタログの導入 17 アナリストが分析に活用してくれた 導入結果 • 導入した結果、無事アナリストがデータ分析にデータカタログを利用してくれた •
データ分析にデータカタログが役立つことが分かったことより、データカタログの有用性を社内に広めることができた
© GENDA Inc. Streamlitで開発した自作データカタログの導入 18 開発チームがメタデータの情報を共有してくれるようになった 導入結果 • yamlにメタデータ定義を記載し、TerraformとGitHub Actionsを組み合わせ、メタデータを自動更新するフローの開発も実施
◦ これにより、データエンジニアではない人たちがメタデータの最新情報を共有してくれるような体制になった ◦ データマネジメントが捗るようになり、良い結果を得ることができた
© GENDA Inc. Streamlitで開発した自作データカタログの導入 19 データカタログに必要な新たな機能を把握できた 導入結果 自作のデータカタログを導入することにより、今後データカタログに追加したい機能などが明確になった これによって、データマネジメントチームが実際にOSSのデータカタログの導入するに至った 【追加したい機能】
• データリネージ機能でデータに問題が発生した際に、どこを調査すべきか瞬時に把握できるようにしたい • ER図でデータのリレーションを把握できるようにしたい • データの品質が監視できる状態にして、高品質なデータを提供できるようにしたい • データマートの作成者を把握できる状態にして、データについての問い合わせ先を明確にしたい
© GENDA Inc. Streamlitで開発した自作データカタログの導入 20 どのような機能があれば使ってもらえるのか不明だった 導入時の苦労話 • どのような機能やUIがあれば活用しやすそうかイメージするのに苦労した ◦
最終的には、以下のようにドロップダウンやテキストボックスでメタデータにアクセスできるように実装した ◦ どんなUIや機能があれば使いやすいかアナリストに細かくヒアリングをし、試作品を共有しながらできるだけ要望に近づけた ドロップダウンでテーブル選択 検索機能
© GENDA Inc. Streamlitで開発した自作データカタログの導入 21 まとめと今後の展望
© GENDA Inc. Streamlitで開発した自作データカタログの導入 22 自作のデータカタログを導入してみて良かったです! まとめ • 導入した結果、評判が良好だった! ◦
本当に使ってもらえるのか、上手くいくのかなどの懸念があったが、 導入してみた結果アナリストからの評判が良く、データ分析に活用してもらえた • データカタログ導入の第一歩として、Streamlitは非常に有用だった ◦ コストを抑えて、データエンジニアチームだけでデータカタログを開発をするのにはStreamlitは非常に有用だった 当初の目的であった、社内にデータカタログの有用性を広めるという目的も達成することができ、 更に今後新しく必要な機能も把握することができたため、 Streamlitでのデータカタログの開発に挑戦してみて本当に良かったなと感じています。
© GENDA Inc. Streamlitで開発した自作データカタログの導入 23 新しく必要性に気づいたことをOpenMetadataを使って実現していきたい 今後の展望 Streamlitの自作データカタログを導入したことによって、新しく必要な機能に気づくことができました。 それに伴い、データマネジメントチームではOpenMetadataを導入するに至りました。
© GENDA Inc. Streamlitで開発した自作データカタログの導入 24 新しく必要性に気づいたことをOpenMetadataを使って実現していきたい 今後の展望 今後はOpenMetdataで以下の実現を目指す • データリネージ機能でデータに問題が発生した際に、どこを調査すべきか瞬時に把握できるようにしたい
• ER図でデータのリレーションを把握できるようにしたい • データの品質が監視できる状態にして、高品質なデータを提供できるようにしたい • データマートの作成者を把握できる状態にして、データについての問い合わせ先を明確にしたい
© GENDA Inc. Streamlitで開発した自作データカタログの導入 25 採用情報
© GENDA Inc. Streamlitで開発した自作データカタログの導入 26 GENDAでは一緒に働く仲間を募集しています! 採用情報 採用情報や社員インタビューなどが掲載されているnote、技術記事などは以下の2次元コードからご確認ください。 採用情報 note
Creators Blog
© GENDA Inc. Streamlitで開発した自作データカタログの導入 27 ご清聴ありがとうございました!