An Apache Arrow adapter to Cassandra python driver
Project description
Cassarrow
Arrow based Cassandra python driver.
TLDR;
Speed up the cassandra python driver using C++ to parse cassandra queries data as Apache Arrow tables.
Key features:
- 20x speed up in the parsing of results
- 14x less memory
- Support for most native types, UDT, List and Set
Getting Started
Installation
pip install cassarrow
Usage
import cassarrow
import pyarrow as pa
# ...
with cassarrow.install_cassarrow(session) as cassarrow_session:
table: pa.Table = cassarrow.result_set_to_table(cassarrow_session.execute_query("SELECT * FROM my_table"))
Type Mapping
Native Types
Cassandra | pyarrow | Note |
---|---|---|
ascii | pa.string() |
|
bigint | pa.int64() |
|
blob | pa.binary() |
|
boolean | pa.bool_() |
|
counter | Not supported | |
date | pa.date32() |
|
decimal | Not supported | |
double | pa.float64() |
|
duration | pa.duration("ns") |
|
float | pa.float32() |
|
inet | Not supported | |
int | pa.int32() |
|
smallint | pa.int16() |
|
text | pa.string() |
|
time | pa.time64("ns") |
|
timestamp | pa.timestamp("ms") |
|
timeuuid | pa.binary(16) |
|
tinyint | pa.int8() |
|
uuid | pa.binary(16) |
|
varchar | pa.string() |
|
varint | Not supported |
Collections / UDT
Cassandra | pyarrow | Note |
---|---|---|
list | pa.list_ |
|
map | pa.map_ |
|
set | pa.list_ |
|
udt | pa.struct |
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
cassarrow-0.1.0.tar.gz
(8.9 kB
view details)
File details
Details for the file cassarrow-0.1.0.tar.gz
.
File metadata
- Download URL: cassarrow-0.1.0.tar.gz
- Upload date:
- Size: 8.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.9.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92f76e7d90c07c34744211c842595cc05f9ca37e4600b529e9485c397c2b1bf3 |
|
MD5 | ef32a83282a68e6d7b18f995584ab2f8 |
|
BLAKE2b-256 | d447c9f2e5df4c914841017b9addf94fc9af3ead96246d42a25047f5866772ff |