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
Kubeflowで作る共通データ基盤 (道半ば編)
Search
JDSC
August 19, 2021
Technology
300
1
Share
Kubeflowで作る共通データ基盤 (道半ば編)
合同勉強会での資料です。
JDSC
August 19, 2021
More Decks by JDSC
See All by JDSC
会社説明資料2026下期
jdsc
1
10k
JDSC採用ページⅡ
jdsc
0
4.2k
JDSC採用ページ
jdsc
1
100k
Data Meshと私
jdsc
0
260
家電製品の異常検知 (Case Study)
jdsc
0
590
鉄道省エネに向けた車上データ活用事例の紹介
jdsc
0
840
InterpretMLと Explainable Boosting Machineのススメ
jdsc
1
3.2k
Google Cloud Build とAI Platformではじめる軽量MLOps pipelineとAlphaSQL
jdsc
0
520
JDSCの事業・技術
jdsc
0
18k
Other Decks in Technology
See All in Technology
Javaで学ぶSOLID原則
negima
1
240
ビジュアルプログラミングIoTLT vol.23
1ftseabass
PRO
0
160
A Harness for Behaviour: how to get AI to generate code that does what we intend, or "TDD in the age of AI"
xpmatteo
1
520
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
1.8k
Diagnosing performance problems without the guesswork
elenatanasoiu
0
120
大学生が本気でDatabricksを活用してDiscordサークルをデータ駆動させてみた
phantomjuju
1
280
自称宇宙最速で不合格となったAIP-C01にリベンジを果たすべくAIで問題集アプリを作ってみた。
yama3133
0
240
Spring AI × MCP 入門〜AIエージェントへのツール公開、境界設計から始める最小構成 〜
yuyamiyamoto
0
180
「使われるデータ基盤」を目指してデータアナリストとワークショップをやった話
jackojacko_
2
930
Kaggle未経験社員をメダリストに育てる「AIドラゴン桜」
lycorptech_jp
PRO
0
660
テストコードのないプロジェクトにテストを根付かせる
tttol
0
230
JEP 522 Deep Dive - G1 GC同期コスト削減によるスループット向上を徹底検証&解説
tabatad
1
360
Featured
See All Featured
Faster Mobile Websites
deanohume
310
31k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
820
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
1.5k
The SEO identity crisis: Don't let AI make you average
varn
0
480
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
370
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
350
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
190
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
270
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
190
Transcript
Kubeflowで作る共通データ基盤 (道半ば編)
自己紹介 - 石井 正浩 - SIerとか携帯屋さんとかを経て現職 - 朝起きたら”ものもらい”ができてて左目が あかない
今日話すこと - データ基盤開発の課題 - Kubeflow on GKEやってみた
CloudStorage (DataLake) 分析にいきつくまでのデータ基盤の構成はだいたい一緒 お客様の データ置き場 定期的に更新さ れるデータ 自社領域に コピー (Datalake)
DWH (data warehouse) データ取り込み (warehousing) 分析/モデリング 開始 DWH (datamart) 取り込むストレージが千差万別 (GCS, S3, Box, SFTP, ...) スケジュールは顧客次第 取り込める形へ変換 データの外形的な異常がないか検査 スキーマ生成 分析用マートを作成するための大量の SQL
個別 vs 共通 個別に作るときの課題 - 案外大変 - 同じことやってる割に、毎回同じような工 数かかる(データエンジニア1人張り付き 1ヶ月とか)
- 一度や二度ならともかく、何回かやると 飽きる(個人の感想です) - ビジネス上の価値を作るのはあとの フェーズなので、ここは小さくしたい - 案件単位で実装だととっちらかる - 技術スタックが異なってしまう - 同じ機能が微妙に異なる実装で行われ る 共通化するときの課題 - 権限制御ミスると死ぬ - A社にB社のデータが見えてしまった・・・ (さすがにやったことはない ) - 計算リソースの想定がしにくい - 利用者が増えれば増えたぶんだけ、 スケールさせたい - 一方で利用者が少ないとき (時間帯)は 小さくしておきたい
Kubeflow on GKE
Kubeflow ※Kubeflow公式ページより https://www.kubeflow.org/docs/started/kubeflow-overview/
Kubeflow Pipelineの開発 - PipelineのworkflowそのものはPythonで記述 - コンテナレベルの制御 (例えばサイドカーの設定とか )をしたいときはkubernetesの Python SDKを使う
- コンテナ内の処理はもちろん何で書いても良い - データ処理と親和性の高い Pythonを使うもよし - gcloudみたいなコマンドラインツールを走らせるもよし Pipeline(Python) 処理1 処理2 定義 (yaml) 定義 (yaml) 処理3 処理2 定義 (yaml) 定義 (yaml)
Kubeflow Pipelineの登録と実行 - 登録: UI or API経由で可能 - API経由の場合、マルチテナント環境だと少し面倒・・・ (というか、もはやバグ
) - https://github.com/kubeflow/kfctl/issues/140#issuecomment-719894529 - 実行 - 必要なパラメータをその場その場で渡して実行 - 実行ごとにProfileをわけることが可能 Pipeline (Python) yaml Compile 登録 Pipeline UserA UserB Profile A Profile B ※ multi user環境の場合 Param Param
workload identity ※GoogleCloud公式ページより https://cloud.google.com/kubernetes-engine/docs/how-to/workload-identity
workload identityとKubeflow Profile Kubeflow Profile ≒ Kubernetes namespace UserA用に権限設定されたGCP ServiceAccount
BigQuery A_dataset ServiceAccount Profile: UserA コンテナ B_dataset Mapping (workload identity) GCS A_bucket B_bucket GKE(kubernetes) ServiceAccount Profile: UserB コンテナ
まとめ - Kubeflow on GKE、良いところばっかり書きましたが辛いところも多そうです - ドキュメントはout-of-date感たっぷり、英語しかない - 一度謎に壊れたときは作り直す以外なかった (逆に言えばそういう前提で作っておくと良さそ
う) - ただ、 - GKEと組み合わせたときの使い勝手はなかなか良い - 今回の使い方にはまあハマってそう - なんとなくミライを感じる