Arrow IPC и Parquet в контракте архивной выгрузки
Получатель просит колоночный файл, а отправитель заменяет Parquet на Arrow IPC, считая форматы одинаковыми. Для хозяйства нужно уточнить назначение и поддержку обеих сторон. Похожие таблицы в памяти не означают одинаковый файловый контракт, а успешное сохранение не доказывает, что нужный потребитель прочитает все типы и метаданные измерений.
Определить задачу обмена
Apache Arrow FAQ различает Arrow и Parquet по назначению. (Apache Arrow — FAQ) Для своего проекта запишите, требуется ли обмен между процессами, долговременный архив или определённый аналитический маршрут. Не выбирайте формат только по общему слову «колоночный» и не объявляйте один вариант универсально лучшим без проверки требований конкретной системы.
Parquet имеет собственную файловую структуру и метаданные. (Apache Parquet — File Format) Arrow IPC также требует подтверждённой поддержки читателя. Расширение файла и возможность открыть его одной программой не заменяют договорённость о схеме, варианте представления и версиях библиотек на фактических сторонах передачи архива полевых измерений хозяйства.
Сохранить семантическую схему
Укажите идентификаторы, физические величины, единицы, качество и временной контекст. Типы должны сохранять нужный диапазон и точность. Если форматирование или преобразование библиотеки теряет часть метаданных, это ограничение требует явного решения, а не скрытой замены значения на удобный текстовый столбец без определения последующего разбора.
Не смешивайте пустое значение и отсутствие поля. Для каждого типа сохраните ожидаемые исходы. Производные показатели должны оставаться отличимыми от измеренных, а разные версии схемы — распознаваемыми читателем. Сам факт получения таблицы с ожидаемым числом строк не доказывает сохранение всех этих различий на маршруте.
Провести сопоставимый round trip
Создайте собственный набор с обычными и граничными данными: длинным идентификатором, точным временем, пустым допустимым значением и диагностическим кодом. Запишите оба предусмотренных варианта рабочими библиотеками и прочитайте реальным потребителем. Сравните точные результаты и происхождение полей, не ограничиваясь визуальным видом первых строк на экране.
Увеличить схему
Затем измерьте ресурсы в условиях задачи. Размер, время записи и потребление памяти зависят от данных и реализации. Не переносите результат одного учебного файла на весь будущий парк датчиков. Для ограниченного шлюза особенно важно подтвердить, что подготовка архива не мешает текущему приёму и сохранению измерений.
Закрепить выбранный вариант
В паспорте интерфейса укажите точный формат и допустимые версии схемы. Если поддерживаются оба, обозначайте их явно и проверяйте отдельно. Автоматическое переименование расширения не преобразует содержимое и не должно использоваться как средство совместимости получателя, который ожидает другой бинарный контракт архивной передачи.
Для хозяйства приёмка означает читаемый и семантически сохранённый набор на нужном маршруте. Выбор Arrow IPC либо Parquet становится техническим решением по задаче. Он опирается на проверенную совместимость и ресурсы, а не на внешнее сходство таблиц или обещание одинаковой поддержки любых колоночных файлов.