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 формат.