Spring Cloud DataFlow overview
Старший разработчик в Unlimint
Хабр, добрый день! Что первое приходит в голову, когда вы слышите «ETL»? Скорее всего airflow?
По сути airflow — это стандарт де-факто в мире обработки и трансформации данных. Но в случае если в разработка ведется на java, то тогда придется либо переучивать разработчиков на python, либо нанимать еще python разработчиков. В большинстве случаев хочется вносить минимум изменений в процесс разработки и тех. стек. Решение есть! Фреймворк Spring Cloud предоставляет DataFlow — фреймворк для организации ETL в spring среде.
Архитектура
Фреймворк DataFlow состоит из двух основных компонентов:
Высокоуровневая архитектура показана на схеме ниже:
Основная точка входа для взаимодействия с DataFlow — это REST API сервиса Data Flow Server. Web Dashboard и Data Flow Shell также взаимодействуют с Data Flow Server. Система может работать на различных платформах: Cloud Foundry, Kubernetes или на вашем локальном компьютере.
Обратите внимание, что и Data Flow Server, и Skipper Server хранят данные (и свое внутреннее состояние) в своей собственной РСУБД. Можно подключить одну физическую СУБД к обоим сервисам, так как каждый из них создает свой собственный namespace/schema внутри СУБД. По умолчанию каждый из сервисов использует встроенную базу данных H2.
Давайте познакомимся поближе с Data Flow Server. Он отвечает практически за все