Skip to content

Demonstration of development lifecycle with Databricks Delta Live Tables and Databricks Asset Bundles

License

Notifications You must be signed in to change notification settings

datapao/dlt-dev-with-dab

 
 

Repository files navigation

This repository provides code that tries to help with the development lifecycle of Databricks Delta Live Tables (DLT). Steps include performing unit & integration testing of DLT pipelines and deployment of pipelines using Databricks Asset Bundles. The repository also includes a sample of CI/CD pipeline using Azure DevOps (ADO) to automate the testing and deployment of DLT pipelines.

The repository has been created from the combination of two other repositories:

This repository aims to extend the above-mentioned repositories by adding the following features:

  • Introducing DAB build & deployment pipelines to the DLT development lifecycle
  • Adding integration tests to the DLT pipelines manifested as a separate DLT pipeline
  • Using OAUTH M2M token to authenticate with Databricks
  • Using Databricks Connect v2 to run unit tests instead of local Spark installation
  • Running the DLT pipeline in validation mode (dry-run) to check for errors before deploying as part of the build pipeline

Improvement suggestions:

  • Move DLT pipeline integration test to Workflows
    • Each pipeline should have a corresponding integration test job with tasks: setup, run DLT pipeline, validate Integration test workflow
    • The integration test job should be running on serverless
    • There should be a runner job that executes all integration test jobs
    • This runner job should be triggered by the build pipeline
    • In this case running the validate pipeline step is unnecessary as the whole pipeline is executed in the integration test
  • Remove Zipping and pusblishing artifacts as it's not needed for DABs
  • Run Unit tests using Databricks Connect Serverless

About

Demonstration of development lifecycle with Databricks Delta Live Tables and Databricks Asset Bundles

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%