Pull to refresh

Comments 7

А рассматривали ли вы вариант использования Talend?

Если я не ошибаюсь, то в основном Talend применяется для интеграции данных, то есть извлечение данных из источника, применение минимальных преобразований и складывание в другом месте. Для подобных задач, в ПГК, используется ETL-инструмент Apache NiFi. Например для получения данных КТИ, которые мы закупаем у РЖД, реализована группа процессов, которые извлекают дневной срез данных по вагонам и складывает в БД Oracle.

Также, для работы с Talend используется Java или Perl, однако основным языком программирования в ПГК является Python.

Пусть ПГК использует то, что есть. Я для ETL использовал богатую палитру инструментов Talend, не написав при этом ни строчки кода.

Исторически тема интересна для меня, как для бывшего вагонника 1983 г. БелИИЖТ.

NiFi - это интеграциооный инструмент. Talend - полноценный ETL (ELT при желании).

Делать ETL написанием кода в процедуре или в MV весьма порочная практика и к сожалению наиболее часто встречающаяся

Если ваша команда использует airflow, то можно хранить код в DAG-ах, а не в базе. Дополнительно получаем

  • возможности декомпозиции по таскам

  • python вместо PL/SQL

В каких случаях предпочтительнее использовать материализованные представление вместо кода рядом с airflow?

Корпоративный AirFlow в ПГК был поднят совсем недавно, до него был развернут инстанс в докере на машине, которая предназначена для обучения моделей (ребята потеснились немного и разрешили его там развернуть, только архитекторам не говорите ?).

Соответственно использовать данный инстанс на регламенте для трансформации данных не представлялось возможным.

В настоящее время, задача по переносу процесса обработки данных КТИ на корпоративный AirFlow находится в беклоге и в ближайшее время будет реализована.

Материализованные представления отлично подходят для аггрегации данных, поэтому подобные операции переписываться на Sql Alchemy не будут.

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

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

Sign up to leave a comment.