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
GitHubを使わずDatabricksだけで お手軽にライブラリ共有やCIが できる環境を作...
Search
KAKEHASHI
PRO
April 09, 2024
Business
1
750
GitHubを使わずDatabricksだけで お手軽にライブラリ共有やCIが できる環境を作ってみた/Creating an Environment for Easy Library Sharing and CI Using Only Databricks Without GitHub
KAKEHASHI
PRO
April 09, 2024
Tweet
Share
More Decks by KAKEHASHI
See All by KAKEHASHI
なりたかった自分となりたい自分
kakehashi
PRO
1
390
そのアウトプットは世界とつながっている
kakehashi
PRO
2
140
品質のための共通認識
kakehashi
PRO
5
480
なぜ使われないのか?──定量×定性で見極める本当のボトルネック
kakehashi
PRO
1
1.7k
制約下の医療LLM Observability 〜セキュアなデータ活用と専門家による改善サイクルの実現〜
kakehashi
PRO
2
290
KAKEHASHI❤️Hono
kakehashi
PRO
1
380
生成AIが拓く医療DXの進化と壁
kakehashi
PRO
1
320
品質と速度を両立する、私たちのフロントエンドテストの工夫と取り組み
kakehashi
PRO
2
200
爆速でプロダクトをリリースしようと思ったらマイクロフロントエンドを選んでいた
kakehashi
PRO
5
3.2k
Other Decks in Business
See All in Business
(6枚)プレゼンの技法 ピラミッドストラクチャー PREP法 SDS法 STAR法
nyattx
PRO
1
300
【素人向け生成AI入門】保健師のチカラにAIをプラス!
minamototeruya
0
190
令和6年度会社パンフレット
wf714201
0
160
malna-recruiting-pitch
malna
0
13k
「スーパーマンの限界」は組織で突破! PdM認知負荷を最適化する戦略的役割分担と Product Ops活用事例
sasaguchi
0
1.2k
YassLab (株) サービス紹介 / Introduction of YassLab
yasslab
PRO
2
41k
任されるプロダクトマネージャーのリアル - プロダクトマネージャーの成長機会 に関する実例収集調査結果
ykmc09
3
3.6k
~モブ、まだいけるよな?~2025年をふりかえってみて_20251126
masakiokuda
0
220
曖昧なLLMの出力をプロダクト価値へつなげる、要求の具体化と評価
zerebom
4
540
Очарование и разочарование при создании стратегии
alexanderbyndyu
0
270
2025年 知財10大ニュース と 2026年 知財予測レポート for #スナックのざき
otsubo
0
650
エンジニアよ痛みを知れ
nobuoooo
0
180
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
62
KATA
mclloyd
PRO
33
15k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
0
34
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.3k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
51k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
0
210
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
150
Practical Orchestrator
shlominoach
190
11k
Marketing to machines
jonoalderson
1
4.5k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
39
Transcript
日本の医療体験を、しなやかに。 © KAKEHASHI Inc. 株式会社カケハシ 2024/4/5 データサイエンティスト 保坂 GitHubを使わずDatabricksだけで お手軽にライブラリ共有やCIが
できる環境を作ってみた
© KAKEHASHI Inc. 保坂 桂佑 株式会社カケハシ AI在庫管理 データサイエンティスト 兼 エンジニア
経歴 データ分析のコンサルティング →リクルートでデータサイエンティスト→機械学習エンジニアマネージャー →カケハシに1人目のデータサイエンティストとしてジョイン 著書 Kaggleで勝つデータ分析の技術(共著) 自己紹介 2
© KAKEHASHI Inc. カケハシでのお仕事 開発業務からデータサイエンス業務にシフトしてきています 2021年 Musubi AI在庫管理の開発 (エンジニア的なお仕事) 2022年
Musubi AI在庫管理の開発 + 精度改善 (データサイエンティスト的なお仕事 + エンジニア的なお仕事) 2023年〜 新規事業のためのデータ活用、施策効果検証 (データサイエンティスト的なお仕事) 3
© KAKEHASHI Inc. カケハシの分析業務でのDatabricks利用 必要なものがシームレスにつながっていてDatabricksだけで完結できるので、カケハシの分析業務では Databricksをフル活用している 4 可視化・共有 分析 集計・マート作成
定期実行
© KAKEHASHI Inc. 分析業務でよく発生する課題3兄弟 コード共有したい 5 だれでも自由に処理を拡張したい デグレが起こらないようにしたい その分析でも使え るからあげる!
関数追加したい バグってるから 直しちゃう 関数にパラメー タ追加しよう 機能追加した! 間違った結果が 出てるよ チームで分析業務を進めているとこの3つがとても良く起こる。手軽に実現したい・・・ (※現在 データサイエンス系人材 11名ほどの組織規模)
© KAKEHASHI Inc. Databricksにおけるコード管理のベストプラクティス そういうとき、DatabricksではGit/GitHubを使ったコード管理を推奨している • バージョン管理のためにGit/GitHubを使う • GitHub ActionsなどのCI/CDツールでテストをトリガーする
• DatabricksとGit/GitHubを連携させる 6 ノートブックのためのソフトウェアエンジニアリングのベストプラクティス より GitHub Databricks Pull Request GitHub Actions コード 修正 push PR作成 CI実行
© KAKEHASHI Inc. プラクティス通りにやると大変だった アウトプットではなく仮説検証のコードなのできっちりしすぎなくてよいのに、労力に見合わない • 「この集計でXがわかったので別の集計をしてみよう」→「Yがわかったからさらに別の集計をしてみ よう」→「Zだと・・じゃあこのアルゴリズムで行こう」 • 「この検証の流れがほかにも転用できるかもしれないから共有はしておこう」
7
© KAKEHASHI Inc. 大変だった理由① ビジネスサイドに近い業務経験でGitHubに触れたことのないデータサイエンティストにとってGitHubはハー ドルが高い • branch、commit、push、pullなど様々な独自の概念があってなかなか慣れず、エンジニアに質問しま くってしまう •
操作をミスしたときのリカバリは周りにエンジニアがいないと厳しい 8
© KAKEHASHI Inc. 大変だった理由② CIのためにGitHub Actionsのymlファイルを書くのもかなり辛い • 書いてあること一つ一つが謎でどう書いたら良いかわからない • マウスでポチポチするだけでCI作りたい
9
© KAKEHASHI Inc. 大変だった理由③ カケハシではGitHubリソースもIaC管理しているのでさらに敷居が高く、GitHubリポジトリ管理したくない • GitHubリポジトリ作成から権限管理まですべてTerraformコードの修正が必要 • エンジニアからすると嬉しいことだがデータサイエンティストにとっては知らないことばかり 10
© KAKEHASHI Inc. 本当にGitHubで管理しないとだめかな・・ 11
© KAKEHASHI Inc. GitHubの恩恵 GitHubでコード管理すると以下のような恩恵がえられるが・・・ • コードのバージョン管理ができる • Pull Requestによりレビューできる
• コードのロールバックができる • CI/CDにより自動テストができる 12
© KAKEHASHI Inc. Databricksでも代替できるかも! 調べてみるとGitHubが提供する機能の多くをDatabricksだけでもカバーできそうだった (制限はある) 13 PRはないけど コードにコメントつけてFBすることはできる! ブランチはないけどバージョン管理できる!
push/PRをトリガーにはできないけど スケジュールジョブで定期自動テストはできる! 一部コミットのrevertはできないけど 過去バージョンへのロールバックはできる!
© KAKEHASHI Inc. Databricksでも代替できるかも! 調べてみるとGitHubが提供する機能の多くをDatabricksだけでもカバーできそうだった (制限はある) 14 PRはないけど コードにコメントつけてFBすることはできる! ブランチはないけどバージョン管理できる!
push/PRをトリガーにはできないけど スケジュールジョブで定期自動テストはできる! 一部コミットのrevertはできないけど 過去バージョンへのロールバックはできる! データサイエンティスト的には これで十分!
© KAKEHASHI Inc. ということで、GitHubなしでやってみた! 15
© KAKEHASHI Inc. 作った環境 Databricksの機能のみをつかって • コード共有したい • だれでも自由に処理を拡張したい •
デグレが起こらないようにしたい を実現する環境になっている 16 詳細は 弊社ブログ記事 をご覧ください
© KAKEHASHI Inc. 導入してよかったこと この仕組みで、分析業務でよく発生する課題3兄弟は解消できそう。特に以下の点は良いと感じた (※一部のプロジェクトに導入し始めている状況での感想です) マウスでポチポチするだけでCI環境をつくれる • GitHub使ったり、 GitHub
Actionsのyml書く必要がないのでかなりハードルが下がる PRを出す必要なくコード修正が可能なのはやっぱり楽 • ちょっとした変更にPR作って出したりレビューするのもデータサイエンティストにとっては結構負担 リグレッションテスト程度ならすぐ作れるので負担は小さい • 分析作業の中で、処理途中のデータをチェックしてるのでそれをテストにするだけ • おかしな修正があれば過去バージョンに戻せるので怖くない 17
© KAKEHASHI Inc. この仕組みで難しいと感じたこと 手軽さを取る代わりに捨てたものもあるので、難しいと感じた点もあった。データサイエンティストにとっ てもGitHubが必要な場面はありそう。 たくさん変更するときは不安が残る • ブランチは使えないし、差分の全revertはできても一部の差分のrevertはできない ノートブック以外のリソース(クエリなど)はこの仕組みでは管理できない
• 自動テストをさせることはできる • 変更履歴が見られずロールバックができない 18
© KAKEHASHI Inc. 今後やっていこうとしていること プロジェクトや作成したコードのフェーズに合わせた管理ができるようにしていきたい 19 初期フェーズ 試行錯誤・共有フェーズ 安定フェーズ Databricks
only CIもなし Databricks only CIあり Databricks + GitHub 新規のデータや分析なので 共有・再利用難しい お互いのコードが再利用できるときがある が、分析が整理されきっていない 分析が整理・型化されてきて、 その再利用、拡張を行っていく
© KAKEHASHI Inc. まとめ 20 Databricksだけで簡易なライブラリ共有やCIの環境を作った背景、導入してみてのメリットデメリットをご 紹介 • GitHubに触れたことのないデータサイエンティストでも、分析のコード共有に適した手軽さで使える •
リグレッションテストをしたり、テスト失敗時に元のコードにrevertするといった簡単なデグレ防止 には十分使える • たくさんの変更をちゃんと管理したり、ノートブック以外のリソース(クエリなど)を管理したいなら GitHubが不可欠
© KAKEHASHI Inc. なにはともあれ 21 Databricksはデータ関連の機能が オールインワンに搭載されていて 直感的に使えるので、 どんどん使ってみてください!