Маппинг данных: как сопоставить поля разных систем
Маппинг данных (Data Mapping, Schema Mapping) — описание соответствий между полями источника и целевой системы. Правила маппинга определяют, куда записать каждое значение, нужно ли изменить его формат и какие данные не следует передавать. Без корректного сопоставления имя клиента может попасть в поле фамилии, дата — сохраниться как обычный текст, а статус заказа — потеряться при импорте.
Что входит в маппинг данных
У каждой системы есть схема данных — набор объектов, полей, типов и связей между ними. Например, CRM хранит имя клиента в поле first_name, а CDP использует поле Имя. Чтобы обмениваться информацией, системам требуется правило: значение из first_name нужно записать в Имя.
Такое соответствие называют маппингом. Оно может включать:
- источник значения: таблицу, объект, колонку файла или поле API-запроса;
- целевое поле, в которое поступят данные;
- допустимый тип: строку, число, дату, логическое значение, объект;
- преобразование формата или самого значения;
- правила обработки пустых и ошибочных данных;
- условия, при которых поле передаётся или пропускается.
В технической документации термины Schema Mapping и Data Mapping часто пересекаются. Schema Mapping обычно акцентирует соответствие элементов исходной и целевой схем. Data Mapping — более широкое понятие: кроме связи полей, оно может охватывать стандартизацию и преобразование значений. Например, в Google Cloud к маппингу относятся извлечение полей из JSON, сопоставление источника с целевой схемой и применение функций трансформации.
Какие правила используются при сопоставлении
Прямой перенос «одно поле источника — одно поле назначения» подходит только для одинаковых структур. В интеграциях встречаются и другие варианты.
| Правило | Пример |
|---|---|
| Прямое соответствие | email → Email |
| Переименование | client_name → Имя клиента |
| Приведение типа | строка "1500.50" → число 1500.5 |
| Изменение формата | 27.10.2026 → 2026-10-27 |
| Разделение значения | Иван Петров → поля Имя и Фамилия |
| Объединение значений | код страны и номер → телефон в международном формате |
| Замена по справочнику | M, F → Мужской, Женский |
| Условное правило | передавать дату покупки, только если заказ оплачен |
| Значение по умолчанию | при пустом поле записывать Источник неизвестен |
| Исключение | не передавать служебные или ненужные колонки |
Один элемент источника может заполнять несколько целевых полей. Возможен и обратный вариант, когда значение назначения рассчитывается по нескольким исходным полям. Некоторые платформы автоматически сопоставляют колонки с похожими названиями и совместимыми типами, но для различающихся схем требуется явная настройка. Например, такой режим предусмотрен в ArcGIS Data Pipelines.
Как составить карту данных
Карта данных, или mapping specification, фиксирует правила передачи в таблице, конфигурационном файле либо интерфейсе интеграционной платформы. До настройки нужно описать не только технические названия полей, но и их бизнес-смысл.
Например, поле created_at может обозначать дату создания клиента, заказа или обращения. Совпадение названий ещё не подтверждает, что сведения эквивалентны.
Практический порядок работы:
- Определить источник и назначение. Зафиксировать системы, объекты и направление передачи: например, из CRM в CDP.
- Собрать схемы. Выписать названия полей, типы, обязательность, допустимые значения и примеры.
- Уточнить семантику. Описать, что означает каждое поле, кто его заполняет и когда оно обновляется.
- Назначить соответствия. Для каждого целевого поля указать источник либо правило расчёта.
- Описать преобразования. Зафиксировать форматы дат, часовые пояса, единицы измерения, справочники и обработку пустых значений.
- Провести тестовый импорт. Проверить обычные записи, пропуски, некорректные значения и пограничные случаи.
- Сверить результат. Сравнить число обработанных записей, значения ключевых полей и отчёт об ошибках.
Автоматическое сопоставление по названию стоит воспринимать как предварительный вариант. Перед запуском нужно проверить бизнес-смысл, тип и формат каждого значимого поля.
В рабочей карте данных полезно также указывать ответственного за поле и версию схемы. Это упрощает обновление интеграции, если источник добавляет колонки, меняет названия или начинает передавать другой формат.
Крупные изменения схемы лучше тестировать на отдельной выборке. Иначе незамеченная смена типа или справочника распространится на всю базу.
Чем маппинг отличается от матчинга и трансформации
Эти понятия относятся к одному процессу интеграции, но решают разные задачи.
- Маппинг отвечает на вопрос: куда записать значение исходного поля и по какому правилу его обработать.
- Матчинг определяет, к какой существующей записи относятся полученные данные. Например, система ищет клиента по email, телефону или ID из CRM. Дальнейшее действие зависит от режима импорта: найденный профиль можно обновить, а при отсутствии совпадения — создать новый, если выбран режим добавления записей. В Altcraft режим поиска профиля задаётся отдельно от соответствий полей.
- Трансформация изменяет значение: переводит строку в число, разделяет ФИО, округляет сумму или заменяет код по справочнику. Правило маппинга может содержать такую операцию, но сама трансформация не определяет целевое поле.
- Миграция данных — более широкий процесс переноса информации между системами. Она включает выгрузку, очистку, маппинг, загрузку, проверку и иногда архивирование исходной базы.
Ошибки при маппинге
Ошибки часто возникают, когда поля связывают формально, не проверяя смысл и формат данных.
- Несовместимые типы. Текст передаётся в числовое поле, дата имеет неподдерживаемый формат, а объект JSON записывается как обычная строка.
- Разный смысл полей. Схожие названия скрывают разные сущности: например,
statusможет обозначать состояние клиента, заказа или подписки. - Несогласованные справочники. Источник использует значения
new,active,lost, а целевая система ожидает числовые коды или другие названия. - Потеря точности. Денежная сумма округляется, часовой пояс отбрасывается, несколько тегов объединяются в одну строку.
- Перезапись пустым значением. Пустая ячейка из нового файла удаляет актуальные сведения, которые уже хранились в профиле.
- Отсутствие обязательного поля. Запись отклоняется, потому что для целевой схемы не передан идентификатор или другой обязательный атрибут.
- Незамеченные изменения источника. Колонка переименована или получила новый тип, но действующая карта данных осталась прежней.
Для проверки стоит использовать реальные примеры записей, включая пропуски и редкие значения. Одного тестового клиента с полностью заполненным профилем недостаточно.
Маппинг клиентских данных в Altcraft
Структуру данных в Altcraft задаёт база профилей: она содержит стандартные и дополнительные поля с заданными типами значений. Выбор типа влияет на дальнейшую работу с информацией. Например, если дату сохранить как строку, в сегментах и шаблонах нельзя будет применять к ней операторы «дата меньше» или «дата больше».
При импорте профилей из файла платформа автоматически определяет колонки, названия которых соответствуют системным. Остальные поля настраиваются вручную: пользователь выбирает колонку источника и стандартное либо дополнительное поле базы. Данные из несопоставленных колонок не импортируются.
Вместе с соответствиями можно настроить обработку значений:
- игнорировать пустые ячейки при обновлении профиля;
- воспринимать
null,nil,noneиundefinedкак пустые значения; - выбрать формат даты;
- для системного поля
Полсопоставить значения источника с системными значениями платформы; - указать разделитель тегов;
- записать колонку в отдельное свойство поля типа
Объект.
Для регулярной загрузки из внешней SQL-базы соответствия между колонками источника и полями профиля задаются в настройках импорта по расписанию. При передаче через API поля профиля и их значения указываются в теле запроса в соответствии со структурой метода импорта или обновления профиля.
После тестовой загрузки нужно проверить отчёт. Если запись отклонена, в колонках error_field и error_value указываются проблемное поле и значение, которое платформа не смогла обработать. Среди частых причин — неверный формат даты, текст в числовом поле, неизвестный элемент списка и некорректный JSON.
Хотите применять загруженные данные в рассылках? Изучите работу с базами профилей, импортом и сегментацией на бесплатном курсе Altcraft.
Что проверить перед запуском интеграции
Готовый маппинг стоит оценивать с точки зрения будущих маркетинговых задач. Если поле технически загружается, но имеет неверный тип или смешивает несколько значений, его будет сложно использовать в сегментации, персонализации и сценариях.
Перед запуском проверьте:
- у каждого обязательного целевого поля есть источник или значение по умолчанию;
- идентификатор клиента не меняется между загрузками;
- даты передаются с согласованным форматом и часовым поясом;
- числа не содержат валютные обозначения и разделители, которые система воспримет как текст;
- значения списков соответствуют справочнику целевой системы;
- пустые поля не удаляют актуальные сведения без явного правила;
- ненужные и чувствительные данные исключены из передачи;
- для ошибок и несопоставленных полей настроен контроль;
- изменения схем источников отслеживаются и тестируются до публикации.
Заключение
Маппинг данных связывает структуру источника с целевой схемой и определяет правила обработки значений. Он может включать прямой перенос, переименование, приведение типов, изменение форматов, работу со справочниками и условное заполнение полей.
Корректное сопоставление начинается с понимания смысла данных. Совпадающих названий недостаточно: нужно проверить типы, форматы, обязательные поля, идентификаторы и правила обновления. Маппинг задаёт соответствие полей и преобразования, матчинг — поиск существующего профиля, а режим импорта определяет, нужно ли добавлять или обновлять запись.


