Parquet to Hyper
Package to convert parquet files into a single hyper file.
Benchmarking
The package was benchmarked using a Latitude 3420 Dell Notebook with 16GB of Memory RAM, a 250GB SSD, and an i7-1165G7 CPU. The time may vary using different architectures. The table used for benchmarking contained 60 columns. Although the tests were carried with a maximum of 500 million of rows, the package supports higher amount of volume. The limitation is only to the size of a single parquet file (up to 30GB). For larger volumes, it's recommended to split them into multiple parquet files. Follow the results:
| Rows (in millions) | Time (in seconds) | Parquet size (in MegaBytes) |
|---|---|---|
| 1 | 4.05 | 54 |
| 10 | 36.8 | 520 |
| 100 | 412.6 | 4900 |
| 500 | 2669.25 | 25400 |
How to use
Installation
pip install parquet-to-hyper
Initializing object
from packages.hyper_file import HyperFile
parquet_folder = '/path/to/your/folder' # The folder where the parquet files are
parquet_extension = 'parquet' # Optional. Don't use it if the parquet files has no extension
hf = HyperFile(parquet_folder, parquet_extension)
Create a single file
hyper_filename = 'path/to/your/db.hyper' # Path to save hyper file with filename
rows = hf.create_hyper_file(hyper_file_name)
print(f'Hyper created with {rows} rows.')
Deleting rows from an existing hyper file
This function deletes rows based on a control column (date column) and the days to delete from current day.
hyper_filename = 'path/to/your/db.hyper' # Path to load hyper file with filename
control_column = 'date_column'
days = 7
hf.delete_rows(hyper_filename)
print(f'{rows} rows were deleted.')
Appending rows from parquet into an existing hyper file
hyper_filename = 'path/to/your/db.hyper' # Path to load hyper file with filename
rows = hf.append_rows(hyper_filename)
print(f'{rows} were appended.')
Publishing hyper file into Tableau server
from packages.hyper_file import HyperFile
tsu = TableauServerUtils(tableau_address, token_name, token_value)
project_id = tsu.get_project_id(project_name)
tsu.publish_hyper(project_id, 'test.hyper')
Metadata
Release files for parquet-to-hyper 1.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| parquet-to-hyper-1.1.4.tar.gz | 47.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| parquet_to_hyper-1.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 81.4 kB
Release files / parquet-to-hyper-1.1.4.tar.gz
| Download URL | parquet-to-hyper-1.1.4.tar.gz |
|---|---|
| Size | 47.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e3af4142f1ab6acfc9e8fdd270786047d0a4224db44142e40f0560d5d17e87e9
|
|
BLAKE2b-256 checksum How to use checksums |
7871a22ac654d63f33ab1da6106515a0b0b405c2d8c5dadf56ef27208258e1cd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.2
|
Release files / parquet_to_hyper-1.1.4-py3-none-any.whl
| Download URL | parquet_to_hyper-1.1.4-py3-none-any.whl |
|---|---|
| Size | 34.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0c181b5792194cde7b010f2349c9893860f39e1ecbe6563775f05247f3653421
|
|
BLAKE2b-256 checksum How to use checksums |
f0c0332bc220f513630e93e5ebb46aef7b4cb4cafc0b63cf9a235beb9579358b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.2
|