Size: a a a

2020 October 02

ПФ

Паша Финкельштейн... in Data Engineers
Sergey Sheremeta
можете поделиться алгоритмом велосипеда? файлы-маркеры в HDFS/S3, при появлении которых ssc делает грейсфул шатдаун?
ну в целом да.
источник

ПФ

Паша Финкельштейн... in Data Engineers
Там были игры с тредпулом, но это детали реализации
источник

K

KrivdaTheTriewe in Data Engineers
Sergey Sheremeta
мне не нужно в UI, мне в CICD-флоу впихнуть нужно корректные редеплой стримов
def stopActiveQueries(): Unit = {
   parent.streams.active.foreach { stream =>
     println("Stopping spark streams")
     stream.stop()
   }
   parent.stop()
 }
источник

SS

Sergey Sheremeta in Data Engineers
а так хотелось пивка выпить спокойно в пятницу...
источник

АЖ

Андрей Жуков... in Data Engineers
Sergey Sheremeta
а так хотелось пивка выпить спокойно в пятницу...
Совмещай!
источник

K

KrivdaTheTriewe in Data Engineers
Sergey Sheremeta
мне не нужно в UI, мне в CICD-флоу впихнуть нужно корректные редеплой стримов
либо файлы, либо модифицировать юай
источник

K

KrivdaTheTriewe in Data Engineers
из гитлаба можно на юай ходить и стопать
источник

UD

Uncel Duk in Data Engineers
Андрей Жуков
Совмещай!
два чая этому мудрецу
источник

АЖ

Андрей Жуков... in Data Engineers
Под пиво cicd хорошо идет
источник

АЖ

Андрей Жуков... in Data Engineers
Старая индейская мудрость!
источник

E

Evgeny in Data Engineers
Почти пик балмера
источник

AZ

Anton Zadorozhniy in Data Engineers
Андрей Жуков
Под пиво cicd хорошо идет
Шутки шутками, а я за два пилзнера настроил нам ArgoCD для ванильного AnalyticOps пару недель назад
источник

SS

Sergey Sheremeta in Data Engineers
источник

DT

Denis Tsvetkov in Data Engineers
Sergey Sheremeta
можете поделиться алгоритмом велосипеда? файлы-маркеры в HDFS/S3, при появлении которых ssc делает грейсфул шатдаун?
Почему бы не добавить обработчик SIGQUIT / SIGTERM?
источник

DT

Denis Tsvetkov in Data Engineers
Будут корректно завершаться просто по kill $pid
источник

SS

Sergey Sheremeta in Data Engineers
Denis Tsvetkov
Почему бы не добавить обработчик SIGQUIT / SIGTERM?
можете привести пример?
источник

DT

Denis Tsvetkov in Data Engineers
что-нибудь вроде
import sun.misc.{Signal, SignalHandler}

var isTimeToStop = false
// в самом начале регистрируем обработчик
registerSignalHandlers()

def registerSignalHandlers() = {
   val signalHandler = new SignalHandler {
     override def handle(signal: Signal): Unit = {
       log.info(s"Signal ${signal} received.")
       isTimeToStop = true
     }
   Signal.handle(new Signal("TERM"), signalHandler)
   }
ну и перед обработкой каждого из батчей проверять, не пришло ли время isTimeToStop == true ?
источник

DT

Denis Tsvetkov in Data Engineers
проще говоря, переменная isTimeToStop заменяет маркеры в hdfs
источник

АЖ

Андрей Жуков... in Data Engineers
Anton Zadorozhniy
Шутки шутками, а я за два пилзнера настроил нам ArgoCD для ванильного AnalyticOps пару недель назад
Так это и не шутки
источник

SS

Sergey Sheremeta in Data Engineers
на первый взгляд очень секси! спасибо, Денис!
источник