Jump to content

Преобразование данных (вычисления)

(Перенаправлено с Посредничества данных )

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

Преобразование данных может быть простым или сложным в зависимости от необходимых изменений данных между исходными (исходными) данными и целевыми (конечными) данными. Преобразование данных обычно выполняется с помощью сочетания ручных и автоматизированных шагов. [2] Инструменты и технологии, используемые для преобразования данных, могут сильно различаться в зависимости от формата, структуры, сложности и объема преобразуемых данных.

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

Когда сопоставление данных происходит косвенно через посредническую модель данных , этот процесс также называется посредничеством данных .

Процесс преобразования данных

[ редактировать ]

Преобразование данных можно разделить на следующие этапы, каждый из которых применим по мере необходимости в зависимости от сложности требуемого преобразования.

Эти шаги часто находятся в центре внимания разработчиков или технических аналитиков данных, которые могут использовать несколько специализированных инструментов для выполнения своих задач.

Шаги можно описать следующим образом:

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

Сопоставление данных — это процесс определения того, как отдельные поля сопоставляются, изменяются, объединяются, фильтруются, агрегируются и т. д. для получения окончательного желаемого результата. Разработчики или технические аналитики данных традиционно выполняют сопоставление данных, поскольку они работают с конкретными технологиями для определения правил преобразования (например, визуальные ETL , инструменты [3] языки трансформации).

Генерация кода — это процесс создания исполняемого кода (например, SQL, Python, R или других исполняемых инструкций), который преобразует данные на основе желаемых и определенных правил отображения данных. [4] Обычно технологии преобразования данных генерируют этот код [5] на основе определений или метаданных, определенных разработчиками.

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

Проверка данных — это заключительный этап процесса, целью которого является обеспечение соответствия выходных данных требованиям преобразования. Обычно этот шаг выполняет бизнес-пользователь или конечный конечный пользователь данных. Любые аномалии или ошибки в данных, которые обнаруживаются и сообщаются разработчику или аналитику данных как новые требования, которые необходимо реализовать в процессе преобразования. [1]

Типы преобразования данных

[ редактировать ]

Пакетное преобразование данных

[ редактировать ]

Традиционно преобразование данных представляло собой массовый или пакетный процесс. [6] при этом разработчики пишут код или реализуют правила преобразования в инструменте интеграции данных, а затем выполняют этот код или эти правила на больших объемах данных. [7] Этот процесс может следовать линейному набору шагов, как описано в процессе преобразования данных выше.

Пакетное преобразование данных является краеугольным камнем практически всех технологий интеграции данных, таких как хранение данных, миграция данных и интеграция приложений. [1]

Когда данные необходимо преобразовать и доставить с низкой задержкой, часто используется термин «микропакет». [6] Это относится к небольшим пакетам данных (например, небольшому количеству строк или небольшому набору объектов данных), которые могут быть обработаны очень быстро и при необходимости доставлены в целевую систему.

Преимущества пакетного преобразования данных

[ редактировать ]

Традиционные процессы преобразования данных хорошо служили компаниям на протяжении десятилетий. Различные инструменты и технологии (профилирование данных, визуализация данных, очистка данных, интеграция данных и т. д.) стали более зрелыми, и большинство (если не все) предприятий преобразуют огромные объемы данных, которые используются внутренними и внешними приложениями, хранилищами данных и другими хранилищами данных. [8]

Ограничения традиционного преобразования данных

[ редактировать ]

Этот традиционный процесс также имеет ограничения, которые снижают его общую эффективность и результативность. [1] [2] [7]

Люди, которым необходимо использовать данные (например, бизнес-пользователи), не играют прямой роли в процессе преобразования данных. [9] Обычно пользователи передают задачу преобразования данных разработчикам, которые обладают необходимыми навыками программирования или техническими навыками для определения преобразований и выполнения их с данными. [8]

Этот процесс оставляет основную часть работы по определению необходимых преобразований разработчику, который, в свою очередь, часто не обладает такими же знаниями предметной области, как бизнес-пользователь. Разработчик интерпретирует требования бизнес-пользователей и реализует соответствующий код/логику. Это потенциально может привести к ошибкам в процессе (из-за неправильного толкования требований), а также увеличивает время нахождения решения. [9] [10]

Эта проблема привела к необходимости гибкости и самообслуживания при интеграции данных (т.е. расширения прав и возможностей пользователей данных и предоставления им возможности самостоятельно преобразовывать данные в интерактивном режиме). [7] [10]

Есть компании, которые предоставляют инструменты самообслуживания для преобразования данных. Они стремятся эффективно анализировать, отображать и преобразовывать большие объемы данных без технических знаний и сложности процессов, которые существуют в настоящее время. Хотя эти компании используют традиционное пакетное преобразование, их инструменты обеспечивают большую интерактивность для пользователей посредством визуальных платформ и легко повторяемых сценариев. [11]

Тем не менее, могут возникнуть некоторые проблемы совместимости (например, новые источники данных, такие как Интернет вещей , могут некорректно работать со старыми инструментами) и ограничения соответствия из-за различий в методах управления данными , их подготовки и аудита. [12]

Интерактивное преобразование данных

[ редактировать ]

Интерактивное преобразование данных (IDT) [13] — это новая возможность, которая позволяет бизнес-аналитикам и бизнес-пользователям напрямую взаимодействовать с большими наборами данных через визуальный интерфейс, [9] понимать характеристики данных (посредством автоматического профилирования или визуализации данных), а также изменять или исправлять данные посредством простых взаимодействий, таких как нажатие или выбор определенных элементов данных. [2]

Хотя интерактивное преобразование данных следует тем же этапам процесса интеграции данных, что и пакетная интеграция данных, ключевое отличие состоит в том, что эти шаги не обязательно выполняются линейно и обычно не требуют значительных технических навыков для завершения. [14]

Существует ряд компаний, предоставляющих интерактивные инструменты преобразования данных, в том числе Trifacta, Alteryx и Paxata. Они стремятся эффективно анализировать, отображать и преобразовывать большие объемы данных, одновременно абстрагируя некоторые технические сложности и процессы, происходящие под капотом.

Решения для интерактивного преобразования данных предоставляют интегрированный визуальный интерфейс, который сочетает в себе ранее разрозненные этапы анализа данных, сопоставления данных, генерации/выполнения кода и проверки данных. [8] То есть, если изменения вносятся за один шаг (например, переименование), программное обеспечение автоматически обновляет предыдущие или последующие шаги соответственно. Интерфейсы для интерактивного преобразования данных включают визуализацию, которая показывает пользовательские закономерности и аномалии в данных, чтобы они могли идентифицировать ошибочные или выходящие за рамки значения. [9]

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

Отстранив разработчика от процесса, интерактивные системы преобразования данных сокращают время, необходимое для подготовки и преобразования данных, устраняют дорогостоящие ошибки в интерпретации требований пользователей и дают бизнес-пользователям и аналитикам возможность контролировать свои данные и взаимодействовать с ними по мере необходимости. [10]

Трансформационные языки

[ редактировать ]

Существует множество языков, доступных для преобразования данных. Многие языки трансформации требуют грамматики предоставления . Во многих случаях грамматика структурирована с использованием чего-то очень напоминающего форму Бэкуса-Наура (БНФ). Для таких целей доступно множество языков, различающихся по доступности (стоимости) и общей полезности. [15] Примеры таких языков включают:

  • AWK — один из старейших и популярных языков преобразования текстовых данных;
  • Perl — язык высокого уровня с процедурным и объектно-ориентированным синтаксисом, способный выполнять мощные операции с двоичными или текстовыми данными.
  • Языки шаблонов — специализированы для преобразования данных в документы (см. также процессор шаблонов );
  • TXL — описания на основе языка прототипирования, используемые для преобразования исходного кода или данных.
  • XSLT — стандартный язык преобразования XML-данных (подходит для XQuery во многих приложениях);

Кроме того, такие компании, как Trifacta и Paxata, разработали специализированные трансформационные языки (DSL) для обслуживания и преобразования наборов данных. Развитие предметно-ориентированных языков связано с повышением производительности и доступности для нетехнических пользователей. [16] «Wrangle» компании Trifacta является примером такого предметно-ориентированного языка. [17]

Еще одним преимуществом недавней тенденции к трансформационным языкам, специфичным для предметной области, является то, что трансформационный язык, специфичный для предметной области, может абстрагировать базовое выполнение логики, определенной в трансформационном языке, специфичном для предметной области. Они также могут использовать ту же логику в различных механизмах обработки, таких как Spark , MapReduce и Dataflow . Другими словами, при использовании языка трансформации, специфичного для предметной области, язык трансформации не привязан к базовому механизму. [17]

Хотя трансформационные языки обычно лучше всего подходят для трансформации, что-то столь же простое, как регулярные выражения для достижения полезного преобразования можно использовать . Текстовый редактор, такой как vim , emacs или TextPad, поддерживает использование регулярных выражений с аргументами. Это позволит заменить все экземпляры определенного шаблона другим шаблоном, используя части исходного шаблона. Например:

foo ("some string", 42, gCommon);
bar (someObj, anotherObj);

foo ("another string", 24, gCommon);
bar (myObj, myOtherObj);

оба могут быть преобразованы в более компактную форму, например:

foobar("some string", 42, someObj, anotherObj);
foobar("another string", 24, myObj, myOtherObj);

Другими словами, все экземпляры вызова функции foo с тремя аргументами, за которым следует вызов функции с двумя аргументами, будут заменены одним вызовом функции с использованием некоторых или всего исходного набора аргументов.

Еще одним преимуществом использования регулярных выражений является то, что они не пройдут тест на нулевое преобразование. То есть, используя выбранный вами трансформационный язык, запустите пример программы через преобразование, которое не выполняет никаких преобразований. Многие трансформационные языки не пройдут этот тест.

См. также

[ редактировать ]
  1. ^ Перейти обратно: а б с д CIO.com. Agile приходит к интеграции данных. Получено с: https://www.cio.com/article/2378615/data-management/agile-comes-to-data-integration.html. Архивировано 29 августа 2017 г. на Wayback Machine.
  2. ^ Перейти обратно: а б с DataXFormer. Моркос, Абеджан, Ильяс, Узани, Папотти, Стоунбрейкер. Интерактивный инструмент преобразования данных. Получено с сайта: http://livinglab.mit.edu/wp-content/uploads/2015/12/DataXFormer-An-Interactive-Data-Transformation-Tool.pdf. Архивировано 5 августа 2019 г. на Wayback Machine.
  3. ^ ДВБИМАСТЕР. 10 лучших инструментов ETL. Получено с: http://dwbimaster.com/top-10-etl-tools/. Архивировано 29 августа 2017 г. в Wayback Machine.
  4. ^ Петр Аубрехт, Зденек Куба. Преобразование данных на основе метаданных. Получено с сайта: http://labe.felk.cvut.cz/~aubrech/bin/Sumatra.pdf. Архивировано 16 апреля 2021 г. в Wayback Machine.
  5. ^ LearnDataModeling.com. Генераторы кода. Получено с сайта: http://www.learndatamodeling.com/tm_code_generator.php. Архивировано 2 августа 2017 г. в Wayback Machine.
  6. ^ Перейти обратно: а б ТДВИ. 10 правил интеграции данных в реальном времени. Получено с: https://tdwi.org/Articles/2012/12/11/10-Rules-Real-Time-Data-Integration.aspx?Page=1. Архивировано 29 августа 2017 г. на Wayback Machine.
  7. ^ Перейти обратно: а б с Топе Омитола, Андре Фрейтас, Эдвард Карри, Шон О'Риэйн, Николас Гиббинс и Найджел Шедболт. Захват операций интерактивного преобразования данных с использованием рабочих процессов Provenance. Получено с сайта: http://andrefreitas.org/papers/preprint_capturing%20interactive_data_transformation_eswc_highlights.pdf . Архивировано 31 января 2016 г. на Wayback Machine.
  8. ^ Перейти обратно: а б с Ценность преобразования данных
  9. ^ Перейти обратно: а б с д Мортон, Кристи - Интерактивная интеграция данных и разрешение сущностей для исследовательской визуальной аналитики данных. Получено с: https://digital.lib.washington.edu/researchworks/handle/1773/35165. Архивировано 7 сентября 2017 г. в Wayback Machine.
  10. ^ Перейти обратно: а б с McKinsey.com. Использование Agile для ускорения преобразования данных
  11. ^ «Почему подготовка самообслуживания — отличное приложение для больших данных» . Датанами . 31 мая 2016 г. Архивировано из оригинала 21 сентября 2017 г. Проверено 20 сентября 2017 г.
  12. ^ Серхио, Пабло (27 мая 2022 г.). «Ваше практическое руководство по преобразованию данных» . Блог Coupler.io . Архивировано из оригинала 17 мая 2022 г. Проверено 8 июля 2022 г.
  13. ^ Топе Омитола, Андре Фрейтас, Эдвард Карри, Шон О'Риайн, Николас Гиббинс и Найджел Шедболт. Захват операций интерактивного преобразования данных с использованием рабочих процессов Provenance. Получено с сайта: http://andrefreitas.org/papers/preprint_capturing%20interactive_data_transformation_eswc_highlights.pdf . Архивировано 31 января 2016 г. на Wayback Machine.
  14. ^ Пэн Цун, Чжан Сяои. Исследование и проектирование интерактивной системы преобразования и миграции данных для гетерогенных источников данных. Получено с: https://ieeexplore.ieee.org/document/5211525/. Архивировано 7 июня 2018 г. в Wayback Machine.
  15. ^ ДМОЗ. Извлечение и преобразование. Получено с: https://dmoztools.net/Computers/Software/Databases/Data_Warehousing/Extraction_and_Transformation/. Архивировано 29 августа 2017 г. на Wayback Machine.
  16. ^ «Язык Wrangler — Trifacta Wrangler — Документация Trifacta» . docs.trifacta.com . Архивировано из оригинала 21 сентября 2017 г. Проверено 20 сентября 2017 г.
  17. ^ Перейти обратно: а б Кандел, Джо Хеллерштейн, Шон. «Преимущества предметно-ориентированного языкового подхода к преобразованию данных — Strata + Hadoop World в Нью-Йорке, 2014 г.» . Conferences.oreilly.com . Архивировано из оригинала 21 сентября 2017 г. Проверено 20 сентября 2017 г. {{cite web}}: CS1 maint: несколько имен: список авторов ( ссылка )
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: f9f389488a34c3c2ad23c03683332ed7__1710425280
URL1:https://arc.ask3.ru/arc/aa/f9/d7/f9f389488a34c3c2ad23c03683332ed7.html
Заголовок, (Title) документа по адресу, URL1:
Data transformation (computing) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)