Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

Streamlitで開発した自作データカタログの導入

Ayumu Yamaguchi
November 27, 2024
180

 Streamlitで開発した自作データカタログの導入

Ayumu Yamaguchi

November 27, 2024
Tweet

Transcript

  1. © 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/ 自己紹介
  2. © GENDA Inc. Streamlitで開発した自作データカタログの導入 8 メタデータの管理・検索機能に特化したものを作りたかった どうしてデータカタログを自作したのか • 有料版やOSSの多機能なデータカタログを導入・活用する前に、社内でデータカタログの重要性を認識してもらう必要があった •

    GENDAの幅広い事業でのデータ活用には、データリネージやデータ品質管理などの機能が最終的に必要になると考えた • 初期ステップとして、アナリストの需要を満たすことに特化したデータカタログの作成を検討しようと考えた
  3. © GENDA Inc. Streamlitで開発した自作データカタログの導入 9 費用を抑えたかった どうしてデータカタログを自作したのか • データカタログの有用性が広まっていなかったため、導入時の費用はできるだけ抑えたかった •

    有料版は高額だったため、自作することによってこの課題を解決しようと考えた • OSS版は費用面では魅力的だが機能が非常に多すぎるため、 アナリストに提供するにあたって活用しづらい印象を与えてしまう懸念があった
  4. © GENDA Inc. Streamlitで開発した自作データカタログの導入 11 低コストで必要な機能に特化したデータカタログを導入可能 Streamlitを選んだ理由 • データカタログ導入にあたって、 有料のものは高額でOSSのものは機能が多いためアナリストが混乱する可能性があるという懸念点があった

    • データカタログを自作することで、 費用面の課題をクリアしつつアナリストの需要に特化したデータカタログを導入するのが良いのではないかと考えた ドロップダウンでテーブル選択 検索機能
  5. © GENDA Inc. Streamlitで開発した自作データカタログの導入 14 Streamlit in Snowflakeを使用すれば簡単にアプリを展開できる • インフラの知識がなくてもユーザーにアプリケーションを簡単にデプロイ可能

    • しかも、Streamlit in Snowflakeを動かす時と、アプリケーションがテーブルに対してクエリを実行するときに使用するウェアハウスの料 金のみの従来課金制 Streamlitを選んだ理由
  6. © GENDA Inc. Streamlitで開発した自作データカタログの導入 Snowflakeコミュニティが活発である 15 Streamlit Forum SnowVillage Streamlitを選んだ理由

    • Snowflakeには、SnowVillageというコミュニティがあり、非常に活発に活動が行われている • 何か困ったことがあっても、気軽にSnowVillageの皆さんに質問や相談をすることができるという点もStreamlitを選んだ理由の一つだった • さらに現在では、Streamlit Forumという Streamlitについて質問やディスカッションができるページが公開されており、誰でも気軽に相談ができる
  7. © GENDA Inc. Streamlitで開発した自作データカタログの導入 18 開発チームがメタデータの情報を共有してくれるようになった 導入結果 • yamlにメタデータ定義を記載し、TerraformとGitHub Actionsを組み合わせ、メタデータを自動更新するフローの開発も実施

    ◦ これにより、データエンジニアではない人たちがメタデータの最新情報を共有してくれるような体制になった ◦ データマネジメントが捗るようになり、良い結果を得ることができた
  8. © GENDA Inc. Streamlitで開発した自作データカタログの導入 19 データカタログに必要な新たな機能を把握できた 導入結果 自作のデータカタログを導入することにより、今後データカタログに追加したい機能などが明確になった これによって、データマネジメントチームが実際にOSSのデータカタログの導入するに至った 【追加したい機能】

    • データリネージ機能でデータに問題が発生した際に、どこを調査すべきか瞬時に把握できるようにしたい • ER図でデータのリレーションを把握できるようにしたい • データの品質が監視できる状態にして、高品質なデータを提供できるようにしたい • データマートの作成者を把握できる状態にして、データについての問い合わせ先を明確にしたい
  9. © GENDA Inc. Streamlitで開発した自作データカタログの導入 20 どのような機能があれば使ってもらえるのか不明だった 導入時の苦労話 • どのような機能やUIがあれば活用しやすそうかイメージするのに苦労した ◦

    最終的には、以下のようにドロップダウンやテキストボックスでメタデータにアクセスできるように実装した ◦ どんなUIや機能があれば使いやすいかアナリストに細かくヒアリングをし、試作品を共有しながらできるだけ要望に近づけた ドロップダウンでテーブル選択 検索機能
  10. © GENDA Inc. Streamlitで開発した自作データカタログの導入 22 自作のデータカタログを導入してみて良かったです! まとめ • 導入した結果、評判が良好だった! ◦

    本当に使ってもらえるのか、上手くいくのかなどの懸念があったが、 導入してみた結果アナリストからの評判が良く、データ分析に活用してもらえた • データカタログ導入の第一歩として、Streamlitは非常に有用だった ◦ コストを抑えて、データエンジニアチームだけでデータカタログを開発をするのにはStreamlitは非常に有用だった 当初の目的であった、社内にデータカタログの有用性を広めるという目的も達成することができ、 更に今後新しく必要な機能も把握することができたため、 Streamlitでのデータカタログの開発に挑戦してみて本当に良かったなと感じています。
  11. © GENDA Inc. Streamlitで開発した自作データカタログの導入 24 新しく必要性に気づいたことをOpenMetadataを使って実現していきたい 今後の展望 今後はOpenMetdataで以下の実現を目指す • データリネージ機能でデータに問題が発生した際に、どこを調査すべきか瞬時に把握できるようにしたい

    • ER図でデータのリレーションを把握できるようにしたい • データの品質が監視できる状態にして、高品質なデータを提供できるようにしたい • データマートの作成者を把握できる状態にして、データについての問い合わせ先を明確にしたい