Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
databricksを使ってnotebookベースでお手軽に機械学習API・バッチ処理を量産する
Search
Toru Nishiyama
May 29, 2019
Technology
1.2k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
databricksを使ってnotebookベースでお手軽に機械学習API・バッチ処理を量産する
2019年5月29日のMachine Learning Casual Talks #10 で発表する内容
Toru Nishiyama
May 29, 2019
More Decks by Toru Nishiyama
See All by Toru Nishiyama
PM業務をAIで変化させて見えてきたものと、これからのPMの役割
paulxl
0
370
AI時代におけるTROCCOの役割: 直近のアップデートの振り返りと将来の展望
paulxl
0
290
AI導入で変わる PdMとエンジニアの関係性
paulxl
0
750
scramble#4_最近のFOLIOのToC事業におけるプロダクトマネジメント※公開版
paulxl
0
3.6k
データ活用の進め方をステークホルダーに理解してもらうためにやったこと
paulxl
1
2.8k
エンジニアとデータサイエンティストがもっと仲良くなるためのデータサイエンティストの話
paulxl
0
270
Other Decks in Technology
See All in Technology
[FECONF-2026] 신대륙을 향한 카카오페이증권 프론트엔드 항해기 (이주승)
l1ghthouse
0
360
Oracle Database Security 詳細解説
oracle4engineer
PRO
1
220
re:Invent2026 事前勉強会 歴史と愉しみ方10分LT編
toshi_atsumi
0
100
eBPF 簡介 2026 版
shunghsiyu
0
160
コードレビューをなくして見えたもの
henteko
0
120
Devin プロモコードの受け取りと適用(2026.10.27)
kinopeee
1
830
慶應義塾大学 AI実践05 論文執筆の仕組み化
keio_smilab
PRO
6
3.4k
cdk deployとcdkd deploy、実際にデプロイして5倍速近くの差を実測した
yama3133
1
160
SLOを阻む不安
sraku2159
0
210
2拠点SRE活動始めてみた | sogaoh's LT @ ホンマでっかSRE勉強会 #3
sogaoh
PRO
0
230
AX時代の自治体支援リソース再配分と役割分担の再構成:戦略とロードマップ(概要)
sishi2026
0
170
Vue で書く 空間コンピューティング、TresJS と WebXR を使ったXR デバイスのフロントエンド開発
hiranuma
0
150
Featured
See All Featured
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
For a Future-Friendly Web
brad_frost
184
11k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Google's AI Overviews - The New Search
badams
0
1.6k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
We Have a Design System, Now What?
morganepeng
55
8.4k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
290
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.5k
Designing for humans not robots
tammielis
254
26k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Transcript
databricksを使ってnotebookベース でお手軽に機械学習API・ バッチ処理を量産する 2019.05.29 Supership Toru Nishiyama
2 サマリ • 自己紹介 • 普段の仕事と機械学習のかかわり • databricksとは • databricksのJob機能を活用しよう
• databricks環境におけるCI/CD • 具体的なユースケース
3 自己紹介 • 西山 徹(にしやま とおる) • データアナリスト/セールスエンジニア@Supership • 非IT系
-> データアナリスト -> データアナリスト/セールスエンジニア(now) • どうでもよいつぶやき: 最近、二郎系ラーメンマップを作ったらGIGAZINEに 取り上げられたりしました ※Herokuの無料枠が死んで現在は落ちてます…
4 普段の仕事と機械学習のかかわり • 所属チームのミッション • 広告配信ログ、ユーザの属性情報など自社データを用いた クライアント向けデータ分析・自社利用向け広告配信セグメントの作成 etc., • 大変なところ
• とにかくデータがでかい • 広告配信ログは1日数十億レコード、 属性データも1テーブル1億レコードを余裕で超えてくる • チームはアナリストが大半で、エンジニアリングリソースが十分でない • 案件ベースで、 広告配信セグメントを新規で作成してスケジュール実行したり、 クライアントとのデータ連携のためのデータパイプラインを作ったり、 といったことが散発的に発生
5 普段の仕事と機械学習のかかわり • 大変なところにどう立ち向かっているか • とにかくデータがでかい -> Apache Sparkを使おう •
チームはアナリストが大半で、エンジニアリングリソースが十分でない -> databricksを使うことで、極力エンジニアリング にかけるリソースをへらす ≒databricksの機能を利用して巻き取ってもらう ↑ここらへんが今回の話の中心になります
6 databricksとは • ざっくりdatabricksの紹介 • databricks社(Sparkの開発元)が提供している 統合分析プラットフォーム • jupyter-likeなnotebookベースでPython, R,
Scalaから、 分散処理基盤上でSparkが実行できる • 利用するクラスタ単位で環境を切り替えたり、 依存ライブラリを管理することができる • ベースとなる環境は databricks runtimeと呼ばれる標準環境 -> ざっくりanacondaみたいなものだと思ってください • 今日出てこない話も含めて過去に書いた記事もあるので よかったら読んでみてください • Databricksで分析業務がはかどっている話 - Qiita
7 databricksのJobs機能を活用しよう • notebookを文字通りjob化することができる機能 • notebookのスケジュール実行したり、REST API化して 任意のタイミングで処理を実行させることができる • jobの作成・管理などの操作がwebブラウザ上から実行できる
• 良いかどうかはさておき, エンジニアリングの基礎知識がなくても一瞬でAPI構築ができる • jobごとに専用のクラスタが実行時に都度立ち上がるので、 コスト的にもメリットがある • jobの内容に合わせたスペックを選択できる (CPU/GPU, メモリ, worker数, etc.,)
8 databricks環境におけるCI/CD • databricksのnotebookはgithubとの連携が可能 • しかも.pyで保存できる • databricksが用意しているCLIを使うことで、ローカル環境や databricksのワークスペース内の任意のディレクトリに notebookを同期可能
• それとCI/CDツールを組み合わせることで、 「notebookがmasterにマージされたら本番用の ワークスペースに自動でデプロイする」といったことが実現可能 (開発用ワークスペース ) (本番用ワークスペース ) deploy commit/ merge /master/ /dev/
9 webアプリケーション 具体的なユースケース • バッチ処理を記述したnotebookをスケジュール実行して、 ETL処理として利用 • アドホックなETL処理が多数発生するので都合が良い • webアプリケーションから呼ばれるAPIとして利用
databricks job jobに投げる パラメータを選択 jobの結果を閲覧 jobの結果を 出力 ユーザが指定した 条件でjobをkick/ jobのステータスを監視 完了した jobの結果を読み込み 画面上で可視化
10 さらに細かいtips • ちょっとした履歴管理はnotebookに標準でついてるので楽 • .pyでnotebookが保存されるのでGithub上でのレビューが めっちゃ楽 • 改行がちゃんと表示されてdiffがめっちゃ見やすい! •
databricks CLIでローカル環境にnotebookを持ってきて、 .pyファイルとして開発もできる • jupyter-likeなインタラクティブに確認しながら開発したい、 リファクタなどエディタやlintツールの機能を活用したいなど、 好みに合わせて作業環境を選べる • 微妙なところとしては、jobにキューイングが まだ実装されていないところ
11 まとめ • databricksを使うことで、 • Jupyter notebookベースで分析をしていて辛いところを databricksがよしなに巻き取ってくれるので、 アナリストが多いチームでもお手軽に機械学習や ちょっとしたデータパイプラインを量産できる
• (今回は触れませんでしたが)ちょっとしたBIツールとして 使ったりもできるなど、databricksだけで分析業務が完結できるよう 様々な機能が高速に開発されている