+7 499 390-88-92
Лаборатория
БОЛЬШИХ данных

21 апреля 2022 года на конференции "BIGDATA & AI 2022", организованной Издательством Открытые системы, мы представили нашу линейку продуктов EasyPortal, которые позволяют решать задачи автоматизации процессов хранилищ данных.

Getl

История развития

Getl развивается компанией EasyData с 2012 года как open source продукт на базе Groovy под лицензией GPL-3.0. Как и любой Java продукт, Getl является кроссплатформенным решением и работает под управлением виртуальной машины Java, установленной на ОС.

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

Возможности

Основное преимущество этого ETL инструмента - способность работать с динамическими структурами, которые могут быть неизвестны на момент разработки. Особенно часто это встречается у телекоммуникационных операторов, собирающих данные в бинарных форматах ASN.1, XML, Json или нестандартных CSV с плавающей структурой полей.

Будучи разработанным на Groovy, Getl использует мощь динамической компиляции этого языка: при связывании структур источников для перемещения между ними данных уже на этапе выполнения, Getl генерирует код под конкретные задачи, с маппингом полей и приведением типов, который далее компилируется в байт код Java и выполняется. Это гарантирует высокую скорость выполнения процессов, но в тоже время не ограничивает работу с динамическими структурами и не требует на момент разработки жестко описывать структуры данных.

Помимо поддержки работы с большинством существующих СУБД и файловыми форматами, Getl также позволяет манипулировать локальными, сетевыми и распределенными файловыми системами и содержит собственный простой язык хранимых процедур, который облегчает разработку аналитических витрин для хранилищ данных Vertica.

Для облегчения разработки логики разработки ETL процессов, для Getl был разработан собственный Dsl язык, на котором можно вести разработку простых скриптов без необходимости использования ООП. В таком случае читабельность ETL логики на порядок выше, чем при написании такой же логики с использованием классов.

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

С помощью языка Getl легко разрабатывать тест кейсы для ETL/ELT процессов. Язык является универсальным средством для подготовки эталонных данных для тестовых стендов, очистки структур перед началом тестирования и выполнению проверки качества данных после проведения тестов.

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

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

Встроенная в Getl in-memory РСУБД H2 database позволяет производить промежуточную обработку или кэширование собираемых данных с использованием возможностей SQL языка.

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

Интеграция с JetBrains InelliJ Idea

При совместном использовании с Getl продукта JetBrains InelliJ Idea становится возможным построить полноценный проект для своего хранилища данных с мощным функционалом:
  • Централизованный репозиторий источников данных и их структур;
  • Группировка по пакетам процессов захвата и обработки данных, повторно используемых шаблонов, ведение таблиц мониторинга загрузки и контроля качества данных, сервисных процессов очистки и переноса архивных данных;
  • Запуск и отладка хранимых процедур SQL на источниках, написанных на расширении Getl (при использовании коммерческой версии Idea);
  • Пошаговая отладка логики скриптов Getl;
  • Профилирование работы собранных приложений с помощью Java профайлеров;
  • Автоматизации сборки версий при помощи Gradle;
  • Совместная работа с проектом команды через системы контроля версий Git или Svn.

Ссылки

Исходный код Getl
Руководство по эксплуатации
Примеры работы с Getl
Вводная базовая англоязычная документация
Полная русскоязычная документация
Мы являемся единственной в России компанией, получившей экспертную сертификацию Accredited Solutions Expert Vertica Big Data Solutions Administrator. В 2017 году мы получили статус Gold Big Data Platform Specialist.