Files
data_pipeline/clickhouse_task/load_table.py
T
Ankit Malik 8aaae1e27d 3rd commit
2026-06-12 15:39:39 +05:30

28 lines
575 B
Python

import polars as pl
from clickhouse_connect.driver import Client
from log import log
def load_to_clickhouse(
client: Client,
table_name: str,
df: pl.DataFrame,
) -> None:
"""
Load a Polars DataFrame into ClickHouse using Arrow.
"""
if df.is_empty():
log.warning(f"{table_name}: DataFrame is empty. Skipping.")
return
arrow_table = df.to_arrow()
client.insert_arrow(
table=table_name,
arrow_table=arrow_table,
)
log.info(
f"{table_name}: inserted {len(df):,} rows into ClickHouse"
)