ภายในแพ็กเกจ asset bundle

Introduction to Databricks Lakehouse

Gang Wang

Senior Data Scientist

โครงสร้างโปรเจกต์ bundle

$$

my_project/
|-- databricks.yml
|-- src/
|   |-- etl_pipeline.py
|   |-- data_quality.py
|-- resources/
|   |-- jobs/
|   |   |-- nightly_etl.yml
|   |-- pipelines/
|       |-- sales_pipeline.yml
|-- tests/
    |-- test_etl.py

$$

  • databricks.yml - ไฟล์ config หลัก
  • src/ - โน้ตบุ๊กและโค้ด ของโปรเจกต์
  • resources/ - นิยาม job และ pipeline
  • tests/ - ไฟล์ทดสอบ (ไม่บังคับ)
Introduction to Databricks Lakehouse

ไฟล์ databricks.yml

bundle:
  name: sales_analytics

workspace:
  host: https://myworkspace.databricks.com

targets:
  dev:
    default: true
    workspace:
      root_path: /Users/me/dev
  production:
    workspace:
      root_path: /Shared/production
    permissions:
      - level: CAN_MANAGE
        group_name: data_engineers
Introduction to Databricks Lakehouse

การกำหนด resources

$$

ชั้นต่าง ๆ: databricks.yml (บนสุด), Resources - Jobs - Pipelines - Dashboards, Code - Notebooks - Python scripts, Targets - dev - staging - production

$$

resources:
  jobs:
    nightly_etl:
      name: "Nightly ETL Pipeline"
      schedule:
        quartz_cron: "0 0 2 * * ?"
      tasks:
        - task_key: ingest
          notebook_task:
            notebook_path: src/etl.py
Introduction to Databricks Lakehouse

คำสั่ง CLI ของ bundle

$$

Command วัตถุประสงค์
bundle validate ตรวจสอบ config ว่ามีข้อผิดพลาดหรือไม่
bundle deploy ดีพลอยไปยัง target ที่กำหนด
bundle run เรียกใช้ job ที่ดีพลอยแล้ว
bundle destroy ลบ resources ที่ดีพลอยออก

$$

# Validate before deploying
databricks bundle validate

# Deploy to production
databricks bundle deploy \
  --target production

# Trigger a run
databricks bundle run nightly_etl
Introduction to Databricks Lakehouse

ขั้นตอนการดีพลอย

ผังงาน: ขั้นตอนการดีพลอย

$$

  • พัฒนาในเครื่อง - แก้ไขโค้ดและตรวจสอบ config
  • Version control - commit การเปลี่ยนแปลงไปยัง Git
  • CI/CD อัตโนมัติ - ดีพลอยไปยัง staging และรันการทดสอบ
  • เลื่อนสู่ production - ดีพลอยได้อย่างมั่นใจ
Introduction to Databricks Lakehouse

สรุป

$$

  • databricks.yml กำหนดโปรเจกต์ targets และ resources
  • Resources ครอบคลุม jobs, pipelines และ dashboards
  • Targets สอดคล้องกับสภาพแวดล้อม (dev, staging, production)
  • คำสั่ง CLI: validate, deploy, run, destroy
Introduction to Databricks Lakehouse

มาฝึกกันเถอะ!

Introduction to Databricks Lakehouse

Preparing Video For Download...