коллеги, хочу на Spark Structured Streaming сделать доставку данных из Кафки в ДатаЛейк (бронзовый слой) и одновременно парсинг/процессинг этих данных (серебряный слой)
ну там лямбда-чики-пуки...
через 2 writeStream не хочу - буду дважды вычитывать данные и оффсеты разойдутся.
через foreachBatch не хочу - там нет атомарности двух df.write (или есть?)
что вы используете для такого? строго один writeStream в stage/bronze и отдельный поток приземленные в stage/bronze данные для парсинга/процессинга?
Можно организовать подобие лямбда архитектуры и писать в foreachBatch в два слоя, но потом добивать серебро батчами, ну или сделать подобие транзакции, но тут думаю надо велосипедить