Size: a a a

2020 December 14

K

Kate in Data Engineers
источник

K

Kate in Data Engineers
Подскажите, как побороть эту проблему?
источник

K

KrivdaTheTriewe in Data Engineers
Sergey Sheremeta
дяденьки, здравствуйте!
подскажите, насколько это анти-паттерн: в одном SparkContext запускать несколько SparkStreamingContext?
можно только один иметь конеткст стримовый
источник

K

KrivdaTheTriewe in Data Engineers
если вам несколько нужно, стоит посмотреть в сторону структурного стриминга
источник

SS

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

что вы используете для такого? строго один writeStream в stage/bronze и отдельный поток приземленные в stage/bronze данные для парсинга/процессинга?
источник

SS

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

OI

Oleg Ilinsky in Data Engineers
Я в драг металлах не силён, но звучит как 2 стрима: один кафка -> сырые данные. Второй сырые данные -> предобработанные данные.
источник

OI

Oleg Ilinsky in Data Engineers
Там же из кафки данные в директорию кладутся?
источник

SS

Sergey Sheremeta in Data Engineers
и вторым стримом постоянно делать листинг базового каталога на предмет появления новых файлов?
источник

SS

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

AS

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

что вы используете для такого? строго один writeStream в stage/bronze и отдельный поток приземленные в stage/bronze данные для парсинга/процессинга?
Можно организовать подобие лямбда архитектуры и писать в foreachBatch в два слоя, но потом добивать серебро батчами, ну или  сделать подобие транзакции, но тут думаю надо велосипедить
источник

SS

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

ME

Max Efremov in Data Engineers
Но у каждого тазик свой, сделанный собственноручно)
источник

K

KrivdaTheTriewe in Data Engineers
Sergey Sheremeta
мне странно, что нет готовых решений... ведь все мы в той или иной степени черпаем тазиками из струяющейся жижи в болота данных
Так сделайте второй топик куда сырье льёте )
источник

SS

Sergey Sheremeta in Data Engineers
я хочу одним "черпком" тазика и резервуар с говном дополнить и сразу грубую очистку тяжелых фракций сделать. чтобы в потом в резервуар питьевой долить
источник

SS

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

SS

Sergey Sheremeta in Data Engineers
(жизнь научила, что без грязного чана - нельзя! рано или поздно приходится в нем повторно юарахтаться)
источник

e

er@essbase.ru in Data Engineers
Spark ? Закешируй в середине  и два раза write
источник

SS

Sergey Sheremeta in Data Engineers
er@essbase.ru
Spark ? Закешируй в середине  и два раза write
через foreachBatch? нет гарантий атомарности... батрак черпанул один раз. влил в грязный чан и сдох от работы. чистый чан не дозаполнился, а оффсеты уже сдвинулись
источник

SS

Sergey Sheremeta in Data Engineers
тьфу, наборот
источник