A minimal client that uses the ClickHouse HTTP API and Apache Arrow.
Project description
Clickhouse Arrow 🏠 🏹
A minimal ClickHouse client that uses the HTTP API and Apache Arrow.
You should probably use Clickhouse Connect instead.
Installation
pip install clickhouse_arrow
Examples
import clickhouse_arrow as ch
import pyarrow as pa
# Initialise a client
client = ch.Client("http://localhost:8123", password="password")
# Create a table
client.execute(
"""
CREATE TABLE test (
col1 Int64,
col2 String
)
ENGINE = Memory
""",
)
# Import a table
table = pa.Table.from_pydict(
{
"col1": [1, 2, 3],
"col2": ["a", "b", "d"],
},
)
client.insert("test", table)
# Read into a table
table = client.read_table("SELECT * FROM test")
print(table)
# Read iterator of batches
batches = client.read_batches("SELECT * FROM test")
for batch in batches:
print(batch)
# Use query parameters
table = client.read_table(
"""
SELECT * FROM test
WHERE col1 = {value:Int64}
""",
params={"value": 2},
)
print(table)
# Use query settings
table = client.read_table(
"SELECT col2 FROM test",
settings={"output_format_arrow_string_as_string": 1},
)
print(table["col2"])
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
clickhouse_arrow-0.4.0.tar.gz
(7.6 kB
view hashes)
Built Distribution
Close
Hashes for clickhouse_arrow-0.4.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e9dec4eb8ce7da4c0d71adcaf82a3f9665b22aab1f247f8b88294aaa5f3d2d2 |
|
MD5 | 4ec9cc5d7db43492b380862ff5da3bfa |
|
BLAKE2b-256 | 0fc1efb8cec829966800aa38643d618e7e524bad674e62ca7681bbc2db3e479e |