Size: a a a

2020 September 15

ME

Max Efremov in Data Engineers
Rodion
Всем привет, подскажите пожалуйста, какие бест пректизы с использованием спарка и эйрфлоу. Нужно ручками собирать джарник и подсовывать или есть какие-то более изящные решения?
мы юзаем пайтон оператор, а внутри вызываем livy :)
источник

ME

Max Efremov in Data Engineers
не претендую на правильность, но работает
источник

С

Сюткин in Data Engineers
Rodion
Всем привет, подскажите пожалуйста, какие бест пректизы с использованием спарка и эйрфлоу. Нужно ручками собирать джарник и подсовывать или есть какие-то более изящные решения?
У нас есть спарклиентоператор,который все поднимает
источник

С

Сюткин in Data Engineers
Если интересно,ты знаешь где меня найти
источник

SS

Sergey Sheremeta in Data Engineers
Rodion
Всем привет, подскажите пожалуйста, какие бест пректизы с использованием спарка и эйрфлоу. Нужно ручками собирать джарник и подсовывать или есть какие-то более изящные решения?
я поделюсь нашим вариантом, может коллеги прокомментируют...

1) код Spark/Scala держим в отдельном gitlab-репо, там гоняем тесты. делаем сборку и деплой джарника в Nexus-репощиторий
2) в отдельном gitlab-репо храним ДАГи Airflow, которые содержат логику шедулинг (запускать раз в час), ссылку на имя джарника и имя App-класса с нужной логикой Спарка.
3) запуск спарк-задания происходит в теле ДАГа Airflow через LivyBatchOperator, которому передается url до джарника в Nexus и имя App-класса. причем URL до джарника содержит переменную часть (версия сборки), которая хранится в переменных Airflow
4) в ходе CI/CD-деплоя git-репо со Spark-кодом через Airflow REST API обновляется переменная в Airflow, указывающая на актуальную версию джарника в Nexus
источник

DZ

Dmitry Zuev in Data Engineers
Rodion
Всем привет, подскажите пожалуйста, какие бест пректизы с использованием спарка и эйрфлоу. Нужно ручками собирать джарник и подсовывать или есть какие-то более изящные решения?
Тк у нас все на k8s , мы написали оператор который сабмитит SparkApplication (see k8s spark operator) и ждет его результата. В качестве образа указываем собранный с нашей джаркой, и в зависимости от окружения берем нужный тег образа (latest- prod, branch-slug - devs) и делаем pullPolicy=Always
источник

DZ

Dmitry Zuev in Data Engineers
Сюткин
У нас есть спарклиентоператор,который все поднимает
чем он отличается от гуглового?
источник

R

Rodion in Data Engineers
Dmitry Zuev
чем он отличается от гуглового?
ты про сабмит в кубер?
источник

DZ

Dmitry Zuev in Data Engineers
я про оператор
источник

DZ

Dmitry Zuev in Data Engineers
у вас свой кубер оператор?
источник

R

Rodion in Data Engineers
у нас нет кубера
источник

DZ

Dmitry Zuev in Data Engineers
или свой аф оператор?
источник

DZ

Dmitry Zuev in Data Engineers
аа
источник

AE

Alexey Evdokimov in Data Engineers
кто-нить знает альтернативу apache poi?

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

N

Nikita Blagodarnyy in Data Engineers
не проще будет пентаху/жаспер поставить?
источник

DZ

Dmitry Zuev in Data Engineers
ну лучше пои ничего не нашли пока
источник

AZ

Anton Zadorozhniy in Data Engineers
Я видел вариант с небольшой виндовой машиной которую поднимают чтобы что-то там нативным стеком обработать
источник

AT

Al T in Data Engineers
ну это прям уже чересчур, ну так же нельзя...
источник

AT

Al T in Data Engineers
я небольшую виндовую машину даж и не видел
источник

A

Artem in Data Engineers
Alexey Evdokimov
кто-нить знает альтернативу apache poi?

а то вот понадобилось репорт в ексельник завернуть, но смотрю я на xssf и просто охуеваю. оно явно жопой написано, баг на баге и вообще полный трэш
Mожно http://jxls.sourceforge.net посмотреть - такой excel template engine поверх apache poi. Но он тоже достаточно специфичесикий))
источник