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.
Who are hydro's intended users?
hydro is intended to be used by developers and engineers who interact with Delta Lake tables and Spark DataFrames with Python. It can be used by those of all skill levels.
hydro works on the Databricks platform as well as on other platforms where PySpark and Delta Lake can be installed: laptops for example.
Warning ⚠️
hydro is well tested but not battle hardened, yet. Use it at your own risk.
Installation
pip install spark-hydro
Docs 📖
https://christophergrant.github.io/hydro
Key Functionality 🔑
- Correctly perform Slowly Changing Dimensions (SCD) on Delta Lake tables - hydro.delta.scd and hydro.delta.bootstrap_scd2
- Issue queries against Delta Log metadata, quickly and efficiently retrieving file-level metadata even on Petabyte-scale tables - hydro.delta.file_stats, hydro.delta.partition_stats
- Infer the schema of JSON columns - hydro.spark.infer_json_schema
- Drop nested fields from a Spark DataFrame hydro.spark.drop_fields
- Quality of life improvements like hydro.delta.detail_enhanced and hydro.spark.fields
- And more... check the docs!
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. Some code was even taken verbatim from the AI (with 0 adaptations). Their outputs have been vetted by humans and tested, so don't worry about quality.
Otherwise, we are proud prompt engineers, so we display the prompt that gave us the code in hydro's source (example).
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 spark_hydro-0.2.2.tar.gz
.
File metadata
- Download URL: spark_hydro-0.2.2.tar.gz
- Upload date:
- Size: 17.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8067942780d9b1f131e938f457cc8531b68e43016b7f98358531c6b0b57b19ef |
|
MD5 | 51edc0976e9812b5a5e75732b23daa5c |
|
BLAKE2b-256 | 72c384b09cc4aab85a2a2c82b213360b88e7310809c56e6cdb791ee105afffe3 |
File details
Details for the file spark_hydro-0.2.2-py2.py3-none-any.whl
.
File metadata
- Download URL: spark_hydro-0.2.2-py2.py3-none-any.whl
- Upload date:
- Size: 17.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b98b3448576132732dca7c7b8a526efd5dc4895bec680404c9313725d79d6f8 |
|
MD5 | 1798ba897718256411fc37e6e29761bb |
|
BLAKE2b-256 | 4a368fe4b15f2210c5be91d989c5ac1542e534e50c35a27fbc1fa732b2dd7015 |