Slide 1

Slide 1 text

Databricks 勉強会 Satoshi Udagawa @ Databricks

Slide 2

Slide 2 text

自己紹介 - About Me 2 Name : 宇田川 聡 (うだがわ さとし) Role : Solution Architect, Databricks Career : Sier x 2 -> Cyberagent -> Akamai -> Splunk Speciality : Spark / CDN / DE / Infra全般 / DSはじめました Personal : FF14(お休み中) / 線形代数(お勉強中 - 難しい) 主にメディア・ゲーム系のお客様を担当させていただいております。 Software Design 5月号の連載を書かせていただきました。 ご興味あるかたはZehi!!

Slide 3

Slide 3 text

Generalな話 3

Slide 4

Slide 4 text

よく聞く話 #1 4 Databricksの機能は完全に理解した が、機能が多すぎてこんなにいらないし オーバスペックだよ

Slide 5

Slide 5 text

BI Tools Operat. DBs Batch & Streaming Data Collaboration Databricks Data Intelligence Platform 5 Storage Data Science & Gen AI Processing, ETL, Real-time Analytics Orchestration Data and AI Governance Batch & Streaming Data Warehousing Data Intelligence Engine Data Intelligence Platform Federation ETL AI Apps 3rd party Business Apps Integration Ingest Transform Analysis Source Serve Query and Process Dashboards Spark / Photon Delta Live Tables Databricks SQL Workflows Auto loader Market place Assistant Data Rooms Lakeview Lakehouse Monitoring Hugging Face OpenAI ID Provider Governance AI Services Model Serving Vector Search ML Modeling Mosaic AI Catalog & Lineage Access Control Unity Catalog MLOps Gen AI Feature Serving … Domain Key capability Key Models / Features DatabricksIQ Sensors and IoT (unstructured) RDBMS (structured) Business Apps (structured) Media (unstructured) Other clouds Biz App Files / Logs (semi-structured) ID Provider Enterprise Catalog Cloud Storage AI App RDBMS (structured) Ingest tool Event Streaming RDBMs, KV store Data Consumer BI Tool Delta Lake Delta Sharing bronze silver gold

Slide 6

Slide 6 text

否!基本すべて従量課金で 使いたいコンポーネントだけ使って ください(にっこり 6

Slide 7

Slide 7 text

Databricksの主なコンポーネント 7 課金の種類 - 基本はこの8つ - 全て従量課金 - 使うComponentで違う料金 All Purpose - Notebookを使ってEDAとかやるときに使うCluster (Adhoc分析用途) - AutoMLとかML回す時も SQL Warehouse - BI用途に使う。SQL書いて分析したり、Dashboardを みる時に - Fivetranやdbtなどの処理を回す時も使える - serverlessあり。 Job Cluster - 定期的に処理を実行してワークフローを回す時とかに 使う - Serverless予定 Delta Live Tables - ELT pipelineをSQLやPythonで宣言的に書きたいとき - Pipelineの可視化、エラーハンドリングなども任せてし まいたい時 - Serverless予定 固定費はWorkspaceでのS3(DBFS)、VPC、IGWなどの料金

Slide 8

Slide 8 text

Databricksの主なコンポーネント 8 Model Serving (CPU / GPU) - ML modelのREST Serving Endpointのサービス - 同時実行数、GPUの種類(A10, 100など) Vector Search - Vector DBのManaged Service - RAGや類似検索で利用可能 - Unitあたりの次元数 x 時間課金 Foundation Model Serving - DBRX、Llama2、MPTなどのモデルを簡単に数クリック でServing可能(Llama3もでます) - Ondemand(token課金) or Provisioned Throughput(時間課金)の2種類 Mosaic ML PreTraining - 基盤モデルの生成Platform Service - 大量のGPUを使ってMulti Cloud上で安価に超高速に できるサービス - 費用はお問い合わせベース(いまのところ

Slide 9

Slide 9 text

よく聞く話 #2 9 Planと課金がよくわからないけど どう計算するといいの ?

Slide 10

Slide 10 text

お金の考え方 10 Databricks Calculator ● 金額はPlan / Region / Product/Instance Type によっ て全て異なります ● 表記は1時間単価ですが、秒単位 で計算されます ● Severless以外はこの金額 + VM のinstance feeが別途かかりま す

Slide 11

Slide 11 text

All Purposeで考えてみると 11 EDAやML用途 ここに1時間あたりの金額が出てます AWS Tokyo Regionの場合 12DBU * 0.55(DBU) = $6.6 (hour)      + 0.732 * 2 (i3.2xlarge) = $1.464(hour)

Slide 12

Slide 12 text

Planについて - Platform PlanはStandard / Premium / Enterpriseの3種類 (AWSの場合) ※Standardは廃止予定 • 選択肢としてはPremiumかEnterprise • 主な違いはSecurityの機能 • Planで各コンポーネントの金額が変わる (Enterpriseが一番高い) 12

Slide 13

Slide 13 text

Planについて - Job(workflow) Compute OR Compute with Photon • Job(workflow)については Compute or Photonの2択 • Photonで多くのWorkloadは 高速化できるので、おすすめ (処理が早く終わる -> DBUもInstance feeも安くなる) • Shared Clusterを使うことで workflowで単一Cluster利用可能 • SQLのみのWorkloadであれば Serverless SQL利用可 (instance起動が数秒なので、EC2の起動を待つ必要なし) 13

Slide 14

Slide 14 text

Planについて - Delta Live Tables Core / Pro / Advanced • Data Validation使いたい場合のみ Advanced • CDC / SCDをやりたい場合はPro以上 • SimpleなワークロードならCoreで十分 • 出力はDelta tableのみなので他の形式で Outputしたい場合はworkflowと組み合わせ 14

Slide 15

Slide 15 text

もうちょっとUsecaseよりな話 15

Slide 16

Slide 16 text

よく聞く話 #3 16 S3にjsonが吐かれるんだけど よしなに取り込みたい

Slide 17

Slide 17 text

AutoLoader + Delta Live Tables 17 • Autoloaderは特定のbucketに ファイルが置かれたら読み込んでくれる • Checkpointを使うことで ファイルをどこまで読んだか管理 • Trigger.AvaliableNowを使うことで バッチ処理として扱える • DLTと組み合わせることでincremental なpipelineを作れる Trigger.AvailableNowが便利 #DLT Source def hoge_table(): return ( spark.readStream.format("cloudFiles") .option("cloudFiles.format", "csv") .load("/databricks-datasets/retail-org /customers/") )

Slide 18

Slide 18 text

よく聞く話 #4 18 Streaming Workloadの場合って Workflow?それともDLT?

Slide 19

Slide 19 text

Workflow or DLT? 19 • Streamingのworkloadの場合は Auto scale非推奨(固定台数でセットすべき) • Scale Down時に処理を切ってしまったりするため • DLTのAutoscalingは独自Scalingメソッドで 利用状況を常にMonitoringしてDrain可能 Autoscale次第 Streaming source Spark executors No/Small backlog & low utilization Backlog monitoring Utilization monitoring Scale down

Slide 20

Slide 20 text

よく聞く話 #5 20 SQL WarehouseのSizingってどうしたらいい?

Slide 21

Slide 21 text

SQL Warehouseのサイジング 21 - StartはSサイズぐらいから (いきなりでかいやつはNG) - 基本はSeverlessの方がworkloadの処理効率化と かがあるのでおすすめ - Lakehouse Federation使う場合は Pro or Serverless - Serverlessの場合はPrivate link必要 - (Azureはリリース済み、AWS開発中) - 1clusterでの並列度は10 - 必要に応じてClusterを拡張できるようにしておく - 24時間常時起動のusecaseはClassicの方が安くみ えるがservelessの起動が10秒くらいなので Serverlessでも十分安くできる Sizingは難しい

Slide 22

Slide 22 text

よく聞く話 #6 22 BQや他のシステムと連動したいんだけど できるの?

Slide 23

Slide 23 text

他のDatasourceとの連携 23 - Defaultで用意されているDatasourceとの コネクタを使うのが簡単 - JDBC / ODBC - Redshift / BQ / Snowflake - Kafka / Kinesis / Pubsub などなど - Lakehouse Federationだとデータを 取り込まずにQuery実行可能 + カタログに 登録できる(権限管理も SparkのConnectorとLakehouse Federation

Slide 24

Slide 24 text

よく聞く話 #7 24 Mlflowだけ使いたいんだけど OK牧場?

Slide 25

Slide 25 text

Mlflowだけ使いたい 25 - 技術的には可能だが、仕組みがサイロ化するので おすすめはしない - NotebookとのExperimentの記録、Unity CatalogのGovernanceや Feature Storeとの連動を考えるとAll in Oneで使っていただくほうが Better

Slide 26

Slide 26 text

よく聞く話 #8 26 DatabricksってCloudのNativeサービス 組み合わせれば同じようなことできるよね?

Slide 27

Slide 27 text

DatabricksはCloudサービス組み合わせれば できるよね? 27 - Yesです。それぞれのCloudサービスを組み合わせれば 似たようなことはできます。 - ただ、Cloudサービスのそれぞれの特性や運用を考えたと きに管理や運用コストは高いと考えています。 - MultiCloud戦略を考えた時に、それぞれのCloudごとのス キル・管理運用コストが必要。どのCloudでも同じ仕組みで 生産性を高められます - 運用管理も大事ですがデータエンジニアリング、サイエンス を活用して省力化してビジネスに価値を産むことが優先す べき https://proceedings.neurips.cc/paper_files/paper/2015/file/86df 7dcfd896fcaf2674f757a2463eba-Paper.pdf 現実のMLシステムでは、MLコードで構成される部分はごくわずかで す。一方で必要な周辺インフラは膨大かつ複雑です。 
 “Hidden Technical Debt in Machine Learning Systems,” Google NIPS 2015 


Slide 28

Slide 28 text

Summary 28 - Productは複数あるけど、すべて利用料課金ベース - 必要に応じて、必要なコンポーネントだけを使うのでOK - あとで使いたかったら使えばよし - 最新の機能は基本 US Regionが先行して展開。Regionの制約なければ USで試すがおすすめです - Tipsについては他にもたくさんあるので、DatabricksのSAに気軽にご相談を

Slide 29

Slide 29 text

ご清聴ありがとうございました 29