Advanced Delta-Lake related tooling based on Apache Spark
Project description
hydro 💧
hydro is a collection of Python-based Apache Spark and Delta Lake extensions.
See Key Functionality for concrete use cases.
Warning ⚠️
hydro is well tested but not battle hardened, yet. Use it at your own risk.
Installation
pip install delta-hydro
Docs 📖
https://christophergrant.github.io/delta-hydro
Key Functionality 🔑
- De-duplicate a Delta Lake table, in-place, without a full overwrite - hydro.delta.deduplicate
- Correctly perform Slowly Changing Dimensions (SCD) (types 1 or 2) on Delta Lake tables - hydro.delta.scd and hydro.delta.bootstrap_scd2
- Issue queries against Delta Log metadata, quickly and efficently getting things like partition sizes on huge tables - hydro.delta.partition_stats
- Other quality of life improvements like hydro.delta.detail_enhanced and hydro.spark.fields
Contributions ✨
Contributions are welcome.
Please create an issue and discuss before starting work on a feature to make sure that it aligns with the future of the project.
Naming 🤓
hydro
is short for hydrologist, where a hydrologist is a person who studies water and its movement. Delta Lake, Data Lake, Lakehouse => water.
ChatGPT and LLMs 🤖
Some of this project's code and documentation was generated by a Large Language Model(LLM), namely ChatGPT.
We are proud prompt engineers, so we display the prompt that gave us the code in hydro's source (example).
APIs
The topic of SQL vs DataFrames is a hot one in the data space.
SQL certainly has its place in analytic and other ad-hoc use cases, but it is missing the expressive power of an imperative language.
This project is a testament to the power of the mix of imperative and declarative expression that DataFrames give. A lot of this code would be very verbose or impossible to express with SQL.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file delta_hydro-0.4.3.tar.gz
.
File metadata
- Download URL: delta_hydro-0.4.3.tar.gz
- Upload date:
- Size: 14.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a905f10094e6b3291f2d976416d4281e8d9768d62c5fb40ff0f7adfb18df976 |
|
MD5 | fcad7972a169413f77570428447dff0f |
|
BLAKE2b-256 | ed26ec151305b01ef486b3e11b747a0375fd043882f1d2fceac170b79e43ebcd |
File details
Details for the file delta_hydro-0.4.3-py2.py3-none-any.whl
.
File metadata
- Download URL: delta_hydro-0.4.3-py2.py3-none-any.whl
- Upload date:
- Size: 15.0 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1318eb9688a573fdf589ac979c346dedd50b36810e4200bf1208e5effcfd9588 |
|
MD5 | 0e6e4bb19a0701489e43efc9373608b3 |
|
BLAKE2b-256 | 549d45b03b5994587623f2c1ed1466e4b05147ac31caa41891aff2a2a0b81513 |