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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
54
AI時代におけるTROCCOの役割: 直近のアップデートの振り返りと将来の展望
paulxl
0
220
AI導入で変わる PdMとエンジニアの関係性
paulxl
0
440
scramble#4_最近のFOLIOのToC事業におけるプロダクトマネジメント※公開版
paulxl
0
3.1k
データ活用の進め方をステークホルダーに理解してもらうためにやったこと
paulxl
1
2.3k
エンジニアとデータサイエンティストがもっと仲良くなるためのデータサイエンティストの話
paulxl
0
260
Other Decks in Technology
See All in Technology
AIによるクリエイティブ生成を行う上での試行錯誤
plaidtech
PRO
0
110
事業課題から技術的負債に向き合う
sansantech
PRO
2
1.4k
アプリをもっと"iOSアプリっぽく"する小さな工夫 / Small Touches That Make Your App Feel More Like an iOS App
matsuji
1
860
WAF 運用改善の承認サイクル/SRE_BizReach_MIXI_1
visional_engineering_and_design
2
670
株式会社シーエーシー エンジニア向け会社紹介資料
cac
0
57k
人間はどの意思決定を手放せるのか
kawasima
14
6k
TinyGo 開発サイクルを高速化する:Go で作るエミュレータ入門
zozotech
PRO
1
720
DEFCON34-Write-up_HYCu-MYCu
daikiokazaki
0
160
Amazon Quick on DesktopがIAM Identity Centerで動かない理由
yukiogawa
0
190
顧客に向き合う開発組織へ。リアーキテクチャとフィーチャーチーム化で挑む組織改革
safie
0
1.5k
AI 時代のスタートアップエコシステ厶から考究する技術的負債との向き合い方
m3m0r7
PRO
2
1.6k
Adaptive Warehouse を今すぐ導入すべき理由と迷ったときの判断基準
__allllllllez__
0
220
Featured
See All Featured
We Are The Robots
honzajavorek
0
370
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
120
120k
The World Runs on Bad Software
bkeepers
PRO
72
12k
My Coaching Mixtape
mlcsv
0
310
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
740
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
540
Optimizing for Happiness
mojombo
378
71k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
240
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
500
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
450
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だけで分析業務が完結できるよう 様々な機能が高速に開発されている