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

Streamlitのデータカタログが社内にもたらした変化

Ayumu Yamaguchi
August 28, 2024
1.3k

 Streamlitのデータカタログが社内にもたらした変化

Ayumu Yamaguchi

August 28, 2024
Tweet

Transcript

  1. © 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/ 山口歩夢
  2. © GENDA Inc. • データの関連性を把握できる状態 ◦ ER図でデータのリレーションを把握が可能 ◦ データリネージでデータに問題が発生した際に、どこを修正するか瞬時に把握が可能 •

    データ利活用が活発である状態 ◦ 業務用語やデータの利用方法について把握が可能 ◦ データやメタデータにアクセスするための方法が明確 • データの品質を監視できる状態 • データマートの作成者が把握できる状態 ◦ オーナー情報の管理が可能 多種多様な事業・データを横断的に活用するために 以下のような状態を目指したい データカタログ導入まで
  3. © GENDA Inc. • SnowflakeのCOMMENTにカラムやスキーマの概要を挿入 • 接続元のネットワークを制限することでセキュリティ対策(利用者は VPNを利用) • ALBを使用してhttps化

    • EC2に作成したアプリをcloneしてデーモン化して $ streamlit run を実行 Streamlitで開発したデータカタログ (システム設計 )
  4. © 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が実行されてメ タデータが更新される。
  5. © GENDA Inc. 導入結果 • データカタログが非常に好評! ◦ これにより、社内でデータカタログとメタデータの重要性を理解してもらえた • データカタログに新たに必要な機能を把握することに繋がった

    • Streamlitの知見が得られた ◦ これを活かして、便利なデータアプリをたくさん開発できた • 開発チームがメタデータの情報を共有してくれるようになり、データマネジメントが捗るようになった ※メタデータの最新情報を共有
  6. © GENDA Inc. • 更に直感的にメタデータを素早く見つけられる UIを実装したい • データリネージ機能が欲しい • データの品質を監視したい

    • さらに詳しいメタデータを確認できるようにしたい ◦ データ利活用のためだけでなく、データマネジメントのためのデータも管理したい 導入結果 そして、新たに必要性を感じた機能はこちら
  7. © GENDA Inc. 今後の展望 (データマネジメント ) 理想的なデータマネジメントに向けて更に進んでいきたい • データの関連性を把握できる状態 ◦

    ER図でデータのリレーションを把握が可能 ◦ データリネージでデータに問題が発生した際に、どこを修正するか瞬時に把握が可能 • データ利活用が活発である状態 ◦ 業務用語やデータの利用方法について把握が可能 ◦ データやメタデータにアクセスするための方法が明確 • データの品質を監視できる状態 • データマートの作成者が把握できる状態 ◦ オーナー情報の管理が可能
  8. © GENDA Inc. 採用情報 【株式会社 GENDA 採用情報】 募集要項はこちら 【GENDA Creators

    Blog】 技術記事などはこちら GENDAでは一緒に働く仲間を募集しています! 採用情報やブログ記事などは、下記の 2次元コードからご確認ください! 【GENDA note】 社員インタビューはこちら