Data transformation – это преобразование и согласование наборов данных друг с другом или с определенной схемой. Оно происходит после извлечения всех имеющихся данных и обеспечивает их дальнейшую обработку, например, для процесса интеграции или загрузки в другую информационную систему. В процессной аналитике (process mining) преобразование данных – это компонент предварительной обработки данных .
Содержание
- Значение
- Как происходит преобразование
- Методы проведения Data transformation
- Языки преобразования данных
Значение
Для дальнейшей обработки данных важным условием является их стандартизированность (её еще называют единообразностью). Различия в данных могут быть вызваны разными источниками, таблицами или типами. Преобразование очень важно не только для анализа данных, но и для сохранения отношений между ними. Как правило, данные необходимо либо “настраивать” друг на друга, либо на конкретный целевой формат.
Если данные стандартизированы, т.е. приведены к единому виду, то их формат определяется как целевой (основной). Тогда все поступающие данные из других источников будут приводиться именно и только к целевому.
В случаях, когда требуется конкретная схема (например, из-за ограничений базы данных или используемого программного обеспечения) данные будут приводиться в соответствии с указанным целевым форматом.
Как происходит преобразование
Чтобы преобразовать данные, обычно сначала необходимо их извлечь. Исключение составляют данные из БД, которые могут быть преобразованы в них самих при помощи языка SQL.
После извлечения данных задаются целевой формат или схема. При проведении преобразования необходимо знать спецификации исходного формата и целевого формата, чтобы было возможно провести операцию (обязательное условие). Используя фиксированные определения и назначения, данные в исходном файле преобразуются и присваиваются определенным значениям, чтобы они соответствовали целевому формату.
Отдельно происходит проработка нюансов пустых значений. Они появляются, например, если у объекта нет определенного атрибута, т.е. нет записи для него. То, как обрабатываются такие значения, зависит от цели преобразования или целевой системы. Например, в базах данных лучше вводить NULL, поскольку пустые значения могут привести к ошибкам во время преобразования или после вычислений.
Таким образом, можно выделить следующие этапы процесса data transformation:
- Извлечение данных;
- Оценка необходимого формата;
- Определение целевого формата;
- Конвертация извлеченных данных;
- Сохранение преобразованных данных в новый файл.
Методы проведения Data transformation
Существует несколько методов проведения преобразования. Это:
- Вручную с использованием SQL и Python;
- Использование ETL-инструментария;
- Облачные ETL.
Языки преобразования данных
Процесс data transformation был бы невозможен без использования специальных языков. Синтаксис таких языков практически строится по форме Бэкуса-Наура (БНФ). Они отличаются по общей полезности и доступности (стоимости). Среди них:
- AWK (один из самых старых и популярных языков data transformation. Его особенность заключается в том, что входной поток рассматривается как список записей, каждая из которых представлена полями);
- Perl (высокоуровневый язык с большим количеством модулей. Его основное достоинство – поддержка нескольких стилей программирования, среди которых процедурный, объектно-ориентированный (ООП) и функциональный);
- Система веб-шаблонов
- TXL (гибридный язык для функционального программирования с использованием преобразования исходного кода);
- XSLT (декларативный язык, представленный набором шаблонов).