common¶
Общие утилиты для преобразования метаданных между форматами.
Назначение:
Преобразование метаданных между различными форматами данных (Native, PGCopy, PGPack) для обеспечения совместимости в рамках ETL процессов.
Особенности:
Написан на Cython для максимальной производительности
Поддерживает взаимное преобразование метаданных между форматами
Обеспечивает консистентность типов данных при конвертации
Помогает восстановлению данных из поврежденных файлов
pgoid_from_metadata¶
- pgoid_from_metadata(metadata)¶
- Параметры:
metadata (bytes) – Метаданные PGPack в байтах
- Результат:
Список OID типов PostgreSQL
- Тип результата:
list[PGOid]
Извлечение списка OID типов PostgreSQL из метаданных PGPack формата.
Использование:
Для подготовки метаданных при конвертации PGPack → PGCopy.
columns_from_metadata¶
- columns_from_metadata(metadata, is_nullable=True)¶
- Параметры:
metadata (bytes) – Метаданные PGPack в байтах
is_nullable (bool) – Флаг поддержки NULL значений
- Результат:
Список объектов Column для Native формата
- Тип результата:
list[Column]
Преобразование метаданных PGPack в структуру колонок Native формата ClickHouse.
Использование:
Для конвертации метаданных при загрузке данных из PostgreSQL в ClickHouse.
metadata_from_columns¶
- metadata_from_columns(column_list)¶
- Параметры:
column_list (list[Column]) – Список колонок Native формата
- Результат:
Метаданные в формате PGPack
- Тип результата:
bytes
Генерация метаданных PGPack из структуры колонок Native формата.
Использование:
Для сохранения метаданных при экспорте данных из ClickHouse.
recover_rows¶
- recover_rows(reader)¶
- Параметры:
reader (NativeReader | PGCopyReader | PGPackReader) – Объект читателя (NativeReader, PGCopyReader, PGPackReader)
- Результат:
Генератор восстановленных строк
- Тип результата:
Generator[Any, None, None]
Попытка восстановления данных из частично поврежденного файла.
Особенности:
Пропускает поврежденные блоки данных
Пытается извлечь максимально возможное количество данных
Логирует ошибки чтения для последующего анализа
Возвращает только корректно прочитанные строки
Использование:
Для операций восстановления при повреждении файлов дампов.