NativeReader

class NativeReader(fileobj)
Параметры:

fileobj (BufferedReader) – Файловый объект с данными в Native формате

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

Описание:

Предоставляет интерфейс для чтения и преобразования данных из Native формата ClickHouse в различные Python структуры: строки, pandas DataFrame, polars DataFrame. Поддерживает потоковое чтение больших объемов данных.

Атрибуты:

total_blocks: int

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

total_rows: int

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

Методы:

read_info()

Чтение метаинформации о данных без загрузки самих данных.

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

Генератор строк данных

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

Generator[Any, None, None]

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

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

DataFrame pandas

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

pandas.DataFrame

Конвертация в pandas DataFrame с сохранением типов данных.

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

DataFrame polars

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

polars.DataFrame

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

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

Текущая позиция в файле

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

int

Получение позиции чтения.

close()

Закрытие файлового объекта.

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

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

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

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

Для декомпрессии и разбора Native формата из файлов или потоков.