Комментарии 2
Отличная идея для самообслуживания аналитиков! У вас в проекте как понимаю много таких функций создается самими пользователями? Они их как-то версионируют/сдабривают комментариями или это больше для разовых экспрементов с трансформацией данных, а потом разработчики переписывают это на java/scala для переиспользования в разных pipeline?
ETL-скрипты у нас все на SQL, а обвязка для запуска ETL stages и сборки финальных отчётов — на питоне. Каждый проект это отдельный гитовый репозиторий, в котором лежит и то и другое. Общие вещи кочуют из проекта в проект, а что-то особенно полезное выносится в сборник best practices.
Короче, довольно хаотично, но аналитикам так удобнее, а я в их кухню не лезу. Моё дело инструменты предоставлять.
Касательно алгоритмики на Java — она довольно давно уже стабильная, последний раз я имплементировал что-то новое года 4 назад. И то не с питона, а прямо по вайтпейперу.
Пишем движок SQL на Spark. Часть 8: CREATE FUNCTION