Upgrade to Pro — share decks privately, control downloads, hide ads and more …

これが知りたいDatabricks!よくある質問に答えます!?

Databricks Japan
May 07, 2024
390

 これが知りたいDatabricks!よくある質問に答えます!?

赤煉瓦倉庫勉強会第1回 Databricks Tech Talks Vol.1 - 我々はこう使ってる!の発表資料です。
Databricksのよくある質問に答えるセッションですー!

Databricks Japan

May 07, 2024
Tweet

More Decks by Databricks Japan

Transcript

  1. 自己紹介 - 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!!
  2. 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
  3. 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などの料金
  4. 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上で安価に超高速に できるサービス - 費用はお問い合わせベース(いまのところ
  5. お金の考え方 10 Databricks Calculator • 金額はPlan / Region / Product/Instance

    Type によっ て全て異なります • 表記は1時間単価ですが、秒単位 で計算されます • Severless以外はこの金額 + VM のinstance feeが別途かかりま す
  6. Planについて - Platform PlanはStandard / Premium / Enterpriseの3種類 (AWSの場合) ※Standardは廃止予定

    • 選択肢としてはPremiumかEnterprise • 主な違いはSecurityの機能 • Planで各コンポーネントの金額が変わる (Enterpriseが一番高い) 12
  7. 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
  8. Planについて - Delta Live Tables Core / Pro / Advanced

    • Data Validation使いたい場合のみ Advanced • CDC / SCDをやりたい場合はPro以上 • SimpleなワークロードならCoreで十分 • 出力はDelta tableのみなので他の形式で Outputしたい場合はworkflowと組み合わせ 14
  9. 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/") )
  10. 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
  11. 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は難しい
  12. 他のDatasourceとの連携 23 - Defaultで用意されているDatasourceとの コネクタを使うのが簡単 - JDBC / ODBC -

    Redshift / BQ / Snowflake - Kafka / Kinesis / Pubsub などなど - Lakehouse Federationだとデータを 取り込まずにQuery実行可能 + カタログに 登録できる(権限管理も SparkのConnectorとLakehouse Federation
  13. 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 

  14. Summary 28 - Productは複数あるけど、すべて利用料課金ベース - 必要に応じて、必要なコンポーネントだけを使うのでOK - あとで使いたかったら使えばよし - 最新の機能は基本

    US Regionが先行して展開。Regionの制約なければ USで試すがおすすめです - Tipsについては他にもたくさんあるので、DatabricksのSAに気軽にご相談を