BlockWriter

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

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

Запись блоков данных в Native формат ClickHouse.

Описание:

Формирует блоки данных Native формата, контролируя размер каждого блока согласно лимиту. Буферизирует данные и выдает готовые блоки для записи.

Атрибуты:

max_block_size: int

Максимальный размер блока в байтах.

total_columns: int

Количество колонок.

total_rows: int

Количество строк в текущем блоке.

block_size: int

Текущий размер блока.

headers_size: int

Размер заголовков блока.

data_iterator: Iterator[Any] | None

Итератор по входным данным.

Методы:

write_row()

Запись одной строки данных в буфер.

clear_block()
Результат:

Данные сформированного блока

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

bytes

Извлечение готового блока и очистка буферов.

init_dataset(dtype_values)
Параметры:

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

Инициализация источника данных.

write()
Результат:

Генератор блоков данных

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

Generator[bytes, None, None]

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

Особенности:

Автоматическое разбиение больших объемов данных на блоки согласно DEFAULT_BLOCK_SIZE.

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

В NativeWriter для преобразования строк данных в Native формат.