Databricks Workflows Migrator (wkmigrate)
Project Description
wkmigrate is a Python library for migrating data pipelines to Databricks workflows from various
frameworks. Users can programmatically create or migrate workflows with a simple set of commands.
Pipeline definitions are read from a user-specified source system, translated for compatibility
with Databricks workflows, and either directly created or stored in json or yml files.
Installation
Use pip install wkmigrate to install the PyPi package.
Compatibility
wkmigrate is a standalone project. Using some features (e.g. serverless jobs compute options) may
require a premium-tier Databricks workspace.
Using the Workflow Migrator
To use the wkmigrate, install the library using the %pip install wkmigrate method or install the
Python wheel directly in your environment.
Once the library has been installed, create source and target definition stores for the migration.
from wkmigrate.definition_store_builder import build_definition_store
# Create the source definition store (an ADF instance):
factory_options = {
"tenant_id": "<TENANT_ID>",
"client_id": "<CLIENT_ID>",
"client_secret": "<CLIENT_SECRET>",
"subscription_id": "<SUBSCRIPTION_ID>",
"resource_group_name": "<RESOURCE_GROUP_NAME>",
"factory_name": "<FACTORY_NAME>"
}
factory_store = build_definition_store(
"factory_definition_store",
factory_options
)
# Create the target definition store (a Databricks workspace):
workspace_options = {
"authentication_type": "pat",
"host_name": "<DATABRICKS_HOST_URL>",
"pat": "<DATABRICKS_PERSONAL_ACCESS_TOKEN>",
}
workspace_store = build_definition_store(
"workspace_definition_store",
workspace_options
)
Use the load method to get definitions from a source.
pipeline = factory_store.load(pipeline_name="<PIPELINE_NAME>")
Use pipeline_translator.translate() to translate definitions for compatibility
with Databricks workflows.
from wkmigrate import pipeline_translator
translated_pipeline = pipeline_translator.translate(pipeline)
Use the dump method to sync workflows into a target.
workspace_store.dump(translated_pipeline)
Metadata
Release files for wkmigrate 0.0.2.post1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| wkmigrate-0.0.2.post1.tar.gz | 43.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wkmigrate-0.0.2.post1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 93.8 kB
Release files / wkmigrate-0.0.2.post1.tar.gz
| Download URL | wkmigrate-0.0.2.post1.tar.gz |
|---|---|
| Size | 43.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0e347ac171a63d55e063ec269c1b6b8b3a2c9ec919b09198a0e46b3fef01b061
|
|
BLAKE2b-256 checksum How to use checksums |
0323e7434a76d28c8500702af0a8eda3bca6dc4495697bebb34402d4aa4e80e4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.3 CPython/3.12.3 Darwin/24.6.0
|
Release files / wkmigrate-0.0.2.post1-py3-none-any.whl
| Download URL | wkmigrate-0.0.2.post1-py3-none-any.whl |
|---|---|
| Size | 50.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
31881e1180347e41be1313af21d249c6fe3feac1e0dfcdcb60351e5ea0389d83
|
|
BLAKE2b-256 checksum How to use checksums |
f86207f171963f7de385a61c754d37978a1ae456c33b38647e2cc820ef13350c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.3 CPython/3.12.3 Darwin/24.6.0
|