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
August 28, 2024
1.8k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Streamlitのデータカタログが社内にもたらした変化
Ayumu Yamaguchi
August 28, 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
4
1.1k
StreamlitとTerraformでデータカタログを作った話
ayumu_yamaguchi
1
3k
Streamlitを使ってデータカタログを作ってみた
ayumu_yamaguchi
1
660
Featured
See All Featured
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Practical Orchestrator
shlominoach
191
11k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
610
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
480
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Discover your Explorer Soul
emna__ayadi
2
1.1k
The Cost Of JavaScript in 2023
addyosmani
55
10k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.5k
Transcript
© GENDA Inc. Streamlitのデータカタログが社内にもたらした変化 2024年8⽉28⽇ Data Engineering Study #25 「データカタログの現在地」
Data Engineer 山口 歩夢
© GENDA Inc. 自己紹介 【所属】 株式会社GENDA データエンジニア 【経歴】 営業職 :4年 データエンジニア:3年
【発信】 著書 :Streamlit データ可視化入門 ブログ :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 Inc. GENDAについて
© GENDA Inc. GENDAグループに多くのグループ企業が所属 GENDAについて
© GENDA Inc. グループを横断したデータ活用で利益の向上を目指しています! GENDAについて
© GENDA Inc. GENDAグループが提供するサービスの相互送客を目的とした機能 「GENDA ID」を導入し、 IDとプロダクトの紐付けをしています! GENDAについて GENDA IDのイメージ図
© GENDA Inc. GENDAデータチームについて 「グループ横断でデータ利活用ができるデータ基盤を構築・運用すること」が GENDAデータチームの役目です。
© GENDA Inc. 「グループ横断でデータ利活用ができるデータ基盤を構築・運用すること」が GENDAデータチームの役目です。 GENDAデータチームについて CTOも「GENDAの重要な武器の一つがデータである」 と言っており社内でデータの重要度が高い!
© GENDA Inc. GENDAデータチームについて 多種多様なデータが存在 ゲームセンターの ユーザーのプレイ履歴 オンラインサービスの プレイ履歴 カラオケの来店履歴
こちらはほんの一部で 多種多様なデータの横断的な利活用に貢献しています!
© GENDA Inc. 多種多様な事業・データが存在するため データマネジメントを進めたい GENDAデータチームについて
© GENDA Inc. そのためにデータカタログが必要! GENDAデータチームについて
© GENDA Inc. データカタログ導入まで
© GENDA Inc. • データの関連性を把握できる状態 ◦ ER図でデータのリレーションを把握が可能 ◦ データリネージでデータに問題が発生した際に、どこを修正するか瞬時に把握が可能 •
データ利活用が活発である状態 ◦ 業務用語やデータの利用方法について把握が可能 ◦ データやメタデータにアクセスするための方法が明確 • データの品質を監視できる状態 • データマートの作成者が把握できる状態 ◦ オーナー情報の管理が可能 多種多様な事業・データを横断的に活用するために 以下のような状態を目指したい データカタログ導入まで
© GENDA Inc. データカタログを導入したいが 重要性の理解が社内で広まっていなかった ... データカタログ導入まで
© GENDA Inc. だからこそ Streamlitで自作した! データカタログ導入まで
© GENDA Inc. 『Streamlitでデータカタログを自作するまで』 データカタログ導入まで
© GENDA Inc. 社内でデータカタログの有用性を知ってもらう必要がある データカタログ導入まで 『Streamlitでデータカタログを自作するまで』
© GENDA Inc. 社内でデータカタログの有用性を知ってもらう必要がある 既存のデータカタログを調査したが高額 ... 『Streamlitでデータカタログを自作するまで』 データカタログ導入まで
© GENDA Inc. 社内でデータカタログの有用性を知ってもらう必要がある 既存のデータカタログを調査したが高額 ... Streamlitを使うことで無料且つ比較的簡単に開発できそう 『Streamlitでデータカタログを自作するまで』 データカタログ導入まで
© GENDA Inc. 社内でデータカタログの有用性を知ってもらう必要がある 既存のデータカタログを調査したが高額 ... Streamlitを使うことで無料且つ比較的簡単に開発できそう チーム内で提案した結果「やってみよう!」ということになった 🎉 『Streamlitでデータカタログを自作するまで』
データカタログ導入まで
© GENDA Inc. Streamlitで開発したデータカタログ
© GENDA Inc. 【機能】 • 指定したスキーマのテーブル一覧 • テーブルのカラム情報 • テーブル内のデータプレビュー
Streamlitで開発したデータカタログ
© GENDA Inc. こちらでデータベース , スキーマ, テーブルを指定すると ▪ドロップダウンで Database・Schema・Tableを選択 Streamlitで開発したデータカタログ
© GENDA Inc. 指定したスキーマのテーブル一覧がこちらに表示されます ▪ドロップダウンで Database・Schema・Tableを選択 Streamlitで開発したデータカタログ
© GENDA Inc. ▪ドロップダウンで Database・Schema・Tableを選択 下部にここで指定したテーブルのカラムの情報やプレビューも表示されます Streamlitで開発したデータカタログ
© GENDA Inc. ▪テーブルの概要を検索 赤枠の部分に検索したい文字列を入力すると Streamlitで開発したデータカタログ
© GENDA Inc. 指定したスキーマ内のテーブルの概要に検索をかけられます ▪テーブルの概要を検索 Streamlitで開発したデータカタログ
© GENDA Inc. • SnowflakeのCOMMENTにカラムやスキーマの概要を挿入 • 接続元のネットワークを制限することでセキュリティ対策(利用者は VPNを利用) • ALBを使用してhttps化
• EC2に作成したアプリをcloneしてデーモン化して $ streamlit run を実行 Streamlitで開発したデータカタログ (システム設計 )
© GENDA Inc. Streamlit in Snowflakeでインフラをシンプルにすることも可能 Streamlitで開発したデータカタログ (システム設計 )
© GENDA Inc. • データカタログを使用する人全員に Snowflakeアカウントを作成する必要がある • 一度起動するとWHが15分間稼働し続けるので高額になる恐れがある ◦ 現在はWHが稼働し続ける時間を調整できるようになりました!
これらの理由で見送りました Streamlit in Snowflakeでインフラをシンプルにすることも可能 Streamlitで開発したデータカタログ (システム設計 )
© GENDA Inc. name: "EMPLOYEES" comment: "従業員マスター " change_tracking: false
columns: - name: "EMPLOYEE_ID" type: "NUMBER(38,0)" comment: "従業員 ID。このテーブルの主キー。 " nullable: false - name: "FIRST_NAME" type: "VARCHAR(50)" comment: "名前。 " nullable: true - name: "LAST_NAME" type: "VARCHAR(50)" comment: "苗字。 " nullable: true - name: "SALARY" type: "NUMBER(10,2)" comment: "給与。ドル単位で格納。 " nullable: true - name: "HIRE_DATE" type: "DATE" comment: "雇用した日。日本時間にて格納。 " nullable: true Streamlitで開発したデータカタログ (メタデータ定義フロー ) 【tables/[テーブル名 ].yaml】 右図の例のように、 table毎にyamlでメタデータを記載しておく。 このyamlをGitHubにpushしてmainにmergeすれば、 GitHub Actionsが走って$ terraform applyが実行されてメ タデータが更新される。
© GENDA Inc. 導入結果
© GENDA Inc. 導入結果 • データカタログが非常に好評! ◦ これにより、社内でデータカタログとメタデータの重要性を理解してもらえた • データカタログに新たに必要な機能を把握することに繋がった
• Streamlitの知見が得られた ◦ これを活かして、便利なデータアプリをたくさん開発できた • 開発チームがメタデータの情報を共有してくれるようになり、データマネジメントが捗るようになった ※メタデータの最新情報を共有
© GENDA Inc. • 更に直感的にメタデータを素早く見つけられる UIを実装したい • データリネージ機能が欲しい • データの品質を監視したい
• さらに詳しいメタデータを確認できるようにしたい ◦ データ利活用のためだけでなく、データマネジメントのためのデータも管理したい 導入結果 そして、新たに必要性を感じた機能はこちら
© GENDA Inc. 今後の展望
© GENDA Inc. 今後の展望 (データマネジメント ) 理想的なデータマネジメントに向けて更に進んでいきたい • データの関連性を把握できる状態 ◦
ER図でデータのリレーションを把握が可能 ◦ データリネージでデータに問題が発生した際に、どこを修正するか瞬時に把握が可能 • データ利活用が活発である状態 ◦ 業務用語やデータの利用方法について把握が可能 ◦ データやメタデータにアクセスするための方法が明確 • データの品質を監視できる状態 • データマートの作成者が把握できる状態 ◦ オーナー情報の管理が可能
© GENDA Inc. 今後の展望 (Streamlit) Streamlitが有用な技術だと分かり 特にDX観点で事業に貢献できそうだと分かったため 各種ツールを自作して DXに貢献していきたい!
© GENDA Inc. 実際に開発した Streamlitアプリを紹介
© GENDA Inc. 開発したアプリケーション 景品毎の公開ステータスを可視化するアプリケーション 景品の公開ステータスを確認して、品出しをすべき景品を瞬時に確認できるようにしました。 別のツールからDLしたCSVをアプリにUPし、Snowflakeのデータと掛け合わせて複雑な集計もできるようにしました。
© GENDA Inc. 景品の売上や売上見込を可視化するアプリケーション 開発したアプリケーション 週次・月次の売上数値を瞬時に確認可能にしました。 週次定例会議で共有する時に、印刷をして配ることを考慮して使いやすいUIで実装しました。
© GENDA Inc. 開発したアプリケーション 景品の売上数値などを様々な角度から可視化するアプリケーション プライズの数値を様々な角度から確認できるようにしました。 ここで可視化されているデータを元に調達するプライズを検討します。
© GENDA Inc. 実店舗運営の方々に直接ヒアリングをしながら あると便利な機能を考えて提案しながら開発できるところが 大変であり楽しいところです! 開発したアプリケーション
© GENDA Inc. まとめ
© GENDA Inc. まとめ • 会社としてグループ横断でのデータ活用を推進していく方針で、 その実現のためにデータカタログが必要だった • データカタログを自作したことで、データマネジメントを更に促進することができた •
StreamlitがDXに貢献できることが分かったので、今後も更に便利なアプリを開発できそう
© GENDA Inc. 採用情報 【株式会社 GENDA 採用情報】 募集要項はこちら 【GENDA Creators
Blog】 技術記事などはこちら GENDAでは一緒に働く仲間を募集しています! 採用情報やブログ記事などは、下記の 2次元コードからご確認ください! 【GENDA note】 社員インタビューはこちら
© GENDA Inc. ご清聴ありがとうございました!