NativeWriter

class NativeWriter(column_list, block_size=DEFAULT_BLOCK_SIZE)
Параметры:
  • column_list (list[Column]) – Список колонок для записи

  • block_size (int) – Максимальный размер блока

Основной класс для записи данных в ClickHouse Native формат.

Описание:

Преобразует данные из различных источников (Python строки, pandas/polars DataFrame) в Native формат ClickHouse. Поддерживает потоковую запись с контролем размера блоков.

Атрибуты:

total_blocks: int

Количество записанных блоков данных.

total_rows: int

Общее количество записанных строк.

Методы:

from_rows(dtype_data)
Параметры:

dtype_data (Iterable[Any]) – Итерируемый объект с данными

Результат:

Генератор блоков в Native формате

Тип результата:

Generator[bytes, None, None]

Потоковое преобразование Python строк в Native формат.

from_pandas(data_frame)
Параметры:

data_frame (pandas.DataFrame) – DataFrame pandas

Результат:

Генератор блоков в Native формате

Тип результата:

Generator[bytes, None, None]

Конвертация pandas DataFrame в Native формат.

from_polars(data_frame)
Параметры:

data_frame (polars.DataFrame) – DataFrame polars

Результат:

Генератор блоков в Native формате

Тип результата:

Generator[bytes, None, None]

Конвертация polars DataFrame в Native формат.

Строковое представление:

При выводе в консоли показывает таблицу с информацией о колонках:

<Clickhouse Native dump writer>
┌─────────────────┬─────────────────┐
│ Column Name     │ Clickhouse Type │
╞═════════════════╪═════════════════╡
│ id              │ Int32           │
├─────────────────┼─────────────────┤
│ name            │ String          │
└─────────────────┴─────────────────┘
Total columns: 2
Total blocks: 0
Total rows: 0

Использование:

Для подготовки данных к записи в ClickHouse через Native формат.