Обновить

Запилить еще один Low‑Code ETL? — Конечно, да. Как мы пошли в opensource

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели5K
Всего голосов 2: ↑2 и ↓0+3
Комментарии2

Комментарии 2

Спасибо за то, что привносите разнообразие в OS.
Поскольку с ETL было больше опыта с Apache NiFi - буду сравнивать с ним и своими рабочими кейсами.

Вопросы:
- как у вашего продукта с горизонтальным масштабированием и балансировкой нагрузки между нодами? У нас был пайплайн где из базы данных могло возвращать датасет на 30+ГБ
- не увидел/не нашёл упоминания - поддерживается ли работа с S3 хранилищами?
- на каких языках возможно дописывать функционал в low-code блоках?

Привет!
Apache NiFi - крутой инструмент. но он очень сложен для бизнес-аналитика (считай пользователя). Поэтому мы шли в разработке в сторону визуальных примитивов в продукте, когда "простыми" нодами можно достичь сложных решений. При этом, каждая "простая" нода - это продукт серьезного разработчика.

На вопросы отвечу по пунктам:
Вопрос: как у вашего продукта с горизонтальным масштабированием и балансировкой нагрузки между нодами? У нас был пайплайн где из базы данных могло возвращать датасет на 30+ГБ-
Ответ: Мы пока только готовимся к тому, чтобы научить DVT распараллеливать исполнение по физическим нодам (воркерам); Пока, распараллеливание исполнения идет внутри одного воркера за счет партицирования в Dask и ленивого исполнения графов.
При этом, чтение данных из БД, к примеру, уже идет именно партицированно (запрос к БД: select from режется на сегменты и раскладывается по партициям, а каждая партиция потом исполняется по графу). Такой подход позволяет читать большие массивы данных даже на маленьком объеме оперативки. сложности вызывает только GroupBy и Sort пока, так как они требует сборки воедино всех данных и repartition (что может привести к нехватке памяти для больших объемов).

Вопрос: не увидел/не нашёл упоминания - поддерживается ли работа с S3 хранилищами?
Ответ: Да, S3 - поддерживается, причем в всяких разных вариантах (тут нам много пришлось постараться на одном из проектов, который был связан с "охлаждением" данных из PostgreSQL в Parquet).
- поддерживаются (S)FTP, сетевые папки (samba);
- с этими подключениями DVT умеет работать с Excel/CSV/Parquet;
Сейчас выкатим релиз 1.22.0, где поддержим чтение "кривых" файлов Excel (когда в одной колонке лежат смешанные типы данных).

Вопрос: - на каких языках возможно дописывать функционал в low-code блоках?
Ответ: Тут только Python. Запросов к нам на то, чтобы мы поддержали C++ или Java пока не было. Ну и все таки чаще всего аналитики любят Pandas, так то для нас выбор был очевиден - Python - как основной язык в блоках кода. Будут заказчики на кастом - будет и поддержка :)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации