Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vmware/versatile-data-kit
One framework to develop, deploy and operate data workflows with Python and SQL.
https://github.com/vmware/versatile-data-kit
analytics data data-engineer data-engineering data-engineering-pipeline data-lineage data-pipelines data-science data-structures data-warehouse database dataops elt etl pipeline python snowflake sql trino warehouse
Last synced: 2 days ago
JSON representation
One framework to develop, deploy and operate data workflows with Python and SQL.
- Host: GitHub
- URL: https://github.com/vmware/versatile-data-kit
- Owner: vmware
- License: apache-2.0
- Created: 2021-07-20T08:28:09.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-04-12T08:49:52.000Z (7 months ago)
- Last Synced: 2024-04-14T03:14:39.346Z (7 months ago)
- Topics: analytics, data, data-engineer, data-engineering, data-engineering-pipeline, data-lineage, data-pipelines, data-science, data-structures, data-warehouse, database, dataops, elt, etl, pipeline, python, snowflake, sql, trino, warehouse
- Language: Python
- Homepage:
- Size: 109 MB
- Stars: 409
- Watchers: 15
- Forks: 54
- Open Issues: 257
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Support: support/git-commit-template.txt
Awesome Lists containing this project
- awesome-data-temporality - VDK
- jimsghstars - vmware/versatile-data-kit - One framework to develop, deploy and operate data workflows with Python and SQL. (Python)
README
![Versatile Data Kit](./support/images/versatile-data-kit.svg#gh-light-mode-only)
![Versatile Data Kit](./support/images/versatile-data-kit.svg#gh-dark-mode-only)---
One framework toπ§βπ» Develop βΆοΈ Deploy and π Operate
data workflows with Python and SQL---
π― Write shorter, more readable code.
π Ready-to-use data ETL/ELT patterns.
𧩠Lego-like extensibility.
π Single click deployment.
π Operate and monitor. οΈ
---
Introduction to the VDK SDK
- Framework to simplify data ingestion and data processing.
- Write any code using Python or SQL.
- A toolset enabling you to run data jobs.
Get started with VDK SDK:
β‘ Install Quickstart VDK. Only requirement is Python 3.7+.
pip install quickstart-vdk
vdk --help
β‘ Develop your First Data Job if you are impatient to start quickly.
Data Ingestion
- Extract data from various sources (HTTP APIs, Databases, CSV, etc.).
- Ensure data fidelity with minimal transformations.
- Load data to your preferred destination (database, cloud storage).
Ingestion examples:
β‘ Ingesting data from REST API into Database
β‘ Ingesting data from DB into Database
β‘ Ingesting local CSV file into Database
β‘ Incremental ingestion using Job Properties
Data Transformation
- SQL and Python parameterized transformations.
- Extensible templates for data modeling.
- Creates a dataset or table as a product.
Get started with transforming data:
β‘ Data Modeling: Treating Data as a Product
β‘ Processing data using SQL and local database
β‘ Processing data using Kimball warehousing templates
Data Job Deployment (build, deploy, release)
VDK Control Service provides REST API for users to create, deploy, manage, and execute data jobs in a Kubernetes runtime environment.
- Scheduling, packaging, dependencies management, deployment.
- Execution management and monitoring.
- Source code versioning and tracking. Fast rollback.
- Manage state and credentials using Properties and Secrets.
Get started with deploying jobs in control service:
β‘ Install Local Control Service with vdk server --install
β‘ Scheduling a Data Job for automatic execution
β‘ Using VDK DAGs to orchestrate Data Jobs
Operations and Monitoring
- Use Operations UI to monitor, troubleshoot data workloads in production.
- Notifications for errors during Data Job deployment or execution.
- Route errors to correct people by classifying them into User or Platform errors.
Get started with operating and monitoring data jobs:
β‘ Versatile Data Kit UI - Installation and Getting Started
β‘ VDK Operations User Interface - Versatile Data Kit
Lego like extensibility
- Modular: use only what you need. Extensible: build what you miss.
- Easy to install any plugins as python packages using
pip
. - Used in enhancing data processing, ingestion, job execution, command-line lifecycle
Get started with using some VDK plugins:
β‘ Browse available plugins
β‘ Interesting plugins to check out:
Β Β Β Β Β Β Track Lineage of your jobs using vdk-lineage
Β Β Β Β Β Β Import/Ingest or Export CSV files using vdk-csv
β‘ Write your own plugin
# Support and Contributing
For Support, you can join our Slack channel, create an [issue](https://github.com/vmware/versatile-data-kit/issues) or [pull request](https://github.com/vmware/versatile-data-kit/pulls) on GitHub to submit suggestions or changes.
If you are interested in contributing as a developer, visit the [contributing](https://github.com/vmware/versatile-data-kit/blob/main/CONTRIBUTING.md) page.
# Contacts
- Message us on Slack:
βοΈ Join the [CNCF Slack workspace](https://communityinviter.com/apps/cloud-native/cncf).
βοΈ Join the [#versatile-data-kit](https://cloud-native.slack.com/archives/C033PSLKCPR) channel.
- Join the [next Community Meeting](https://github.com/vmware/versatile-data-kit/wiki/Community-Meetings)
- Follow us on [Twitter](https://twitter.com/VDKProject).
- Subscribe to the [Versatile Data Kit YouTube Channel](https://www.youtube.com/channel/UCasf2Q7X8nF7S4VEmcTHJ0Q).
- Join our [development mailing list](mailto:[email protected]), used by developers and maintainers of VDK.
# Code of Conduct
Everyone involved in working on the project's source code, or engaging in any issue trackers, Slack channels,
and mailing lists is expected to be familiar with and follow the [Code of Conduct](https://github.com/vmware/versatile-data-kit/blob/main/CODE_OF_CONDUCT.md).