Почему ZIP-архив с выгрузкой — ещё не готовая таблица

В одном архиве могут лежать части таблицы, разные справочники и описание полей. Объясняем, как определить состав выгрузки и избежать неверного объединения файлов.

Открытый светлый контейнер с застёжкой и отдельными стопками оранжевых и графитовых карточек разных форм.

Один скачанный файл скрывает несколько задач

Представим условную выгрузку интернет-магазина. Сотрудник получает один ZIP-архив и ожидает открыть таблицу заказов. Внутри обнаруживаются несколько файлов с похожими названиями, справочник товаров и текстовое описание. Успешное скачивание ещё не объясняет, какие из этих частей нужно включить в отчёт и как они связаны.

Архив — упаковка для хранения и передачи файлов. Таблица — набор записей с определёнными столбцами и смыслом значений. Эти уровни полезно разделять с самого начала: сначала понять состав посылки, затем правила чтения каждого содержимого, после — способ получить нужный набор данных.

Что обещает формат ZIP

Спецификация PKWARE допускает несколько файлов в одном ZIP. Сжатие необязательно: часть содержимого может храниться без уменьшения размера. Внутри также могут находиться вложенные архивы. Поэтому расширение упаковки не сообщает, сколько таблиц передано и каким способом записаны их значения.

Разделим два вопроса. Первый: все ли ожидаемые файлы получены? Второй: правильно ли поняты записи внутри них? Проверка упаковки не определит за нас, в рублях или копейках указана сумма заказа. Чтобы ответить, нужно описание поставщика, а при его отсутствии — уточнение до использования выгрузки.

Одинаковые колонки или разные сущности

Допустим, первый и второй файлы содержат заказы за разные дни с одинаковым составом полей. Возможно, их строки нужно собрать вместе. Но похожие названия могут также обозначать полную копию и отдельные исправления. Если добавить исправленную копию как новые продажи, прежние записи окажутся посчитаны повторно. Одного сходства столбцов недостаточно.

Теперь представим другой набор: файл заказов и справочник товаров. Это разные сущности. У товара есть номер и название; в заказе указан номер товара, количество и сумма. Складывать их строки в общую таблицу бессмысленно. Нужна связь по согласованному признаку, причём важно понимать, однозначно ли справочник объясняет каждый номер.

Зачем нужно описание полей и связей

В модели табличных данных W3C различаются таблицы, столбцы, строки и метаданные — описание самих сведений. Модель учитывает идентификаторы строк и связи между таблицами. Это полезная основа для вопросов к выгрузке, хотя не каждый отправитель использует именно этот стандарт.

Для нашего условного магазина предложим записать рядом с архивом: период данных, назначение каждого файла, смысл одной строки, единицы суммы и признак связи со справочником. Ещё один вопрос — как обозначено отсутствующее значение. Пустая ячейка, неизвестный товар и нулевое количество могут означать разные ситуации; смешивать их без объяснения нельзя.

Как проверить состав до подготовки отчёта

Сначала сопоставьте перечень полученного с описанием поставки. Если обещаны сведения за семь дней, а видны лишь шесть дневных частей, нужен ответ о недостающем периоде. Название файла — подсказка, но дату содержимого лучше подтвердить по самим данным или документированному правилу источника. Служебное описание и резервную копию не стоит автоматически включать в продажи.

Затем выберите несколько понятных записей и проследите их путь: где найден заказ, откуда взято название товара, как определён период. Это предлагаемый порядок смысловой проверки, а не универсальный стандарт для всех архивов. Конкретные контрольные числа и правила исправлений необходимо согласовать с источником. Если описание противоречит содержимому, лучше остановить подготовку результата и зафиксировать расхождение.

От посылки к проверенным данным

Отдельная тема — получение всех страниц из API, если выгрузка поступает порциями через сервис. После разбора файлов нужна сверка исходника и отчёта. Эти проверки дополняют понимание состава архива, но не заменяют его.

Учиться получать, связывать и проверять сведения можно на программе Data Engineer для начинающих. Для первого самостоятельного разбора достаточно объяснить словами роль каждого файла и показать, почему выбранный способ объединения соответствует задаче.

Data Engineer для начинающих
Курс
Доступ сразу
Data Engineer для начинающих

Освойте Data Engineering с нуля: научитесь собирать, хранить и обрабатывать данные. Практика на каждом этапе — опыт не нужен.

С нуля до junior
Теория и практика
Диплом по окончании
12 990
₽/мес
УЗНАТЬ ПОДРОБНЕЕ

Источники

Читайте также

Обучить команду или нанять специалиста по данным: как выбрать
47

Обучить команду или нанять специалиста по данным: как выбрать

Как руководителю определить, какие навыки развивать внутри команды, когда нужна новая роль и почему обучение и найм часто дополняют друг друга.
Вертикальное и горизонтальное масштабирование данных: в чём разница
46

Вертикальное и горизонтальное масштабирование данных: в чём разница

Когда системе добавляют мощность одного сервера, когда делят работу между несколькими и почему увеличение ресурсов само по себе не решает любую проблему.
Журнал изменений данных: как выяснить, кто и когда изменил набор
42

Журнал изменений данных: как выяснить, кто и когда изменил набор

Что можно узнать из журнала действий с данными, как он помогает разбирать ошибки и почему его записи не показывают всю историю сами по себе.

Занятия проходят
в Нова Дата СДО

Вебинары, практика и общение с преподавателем — в одном окне браузера.

Посмотреть интерфейс платформы
Календарь обучения в Нова Дата СДО
Курсы студента в Нова Дата СДО
Редактор кода для практики в Нова Дата СДО
Вебинары и расписание Ваши курсы Код в браузере
Нова Дата СДО — в реестре российского ПОРеестровая запись № 34931
Заявка отправлена
Отправим вам подборку курсов в течение 5 минут. С вами также свяжется наш специалист и даст карьерную консультацию.
Персональный промокод
На курс «Инженер по парсингу данных»
Введите код при оплате, чтобы применить скидку к программе.