Size: a a a

2020 December 14

SS

Sergey Sheremeta in Data Engineers
* грязный чан наполнился, чистый - нет, оффсеты откатились
источник

SS

Sergey Sheremeta in Data Engineers
призываю гуру из Databricks!
источник

e

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

R

Renarde in Data Engineers
> через foreachBatch не хочу - там нет атомарности двух df.write (или есть?)
нет атомарности, если посередине батча упадет, df2.write может не случиться
источник

R

Renarde in Data Engineers
но есть операция внутри foreachBatch идемпотентная, то все норм
источник

SS

Sergey Sheremeta in Data Engineers
это вы к Delta-формату подводите? ))
источник

SS

Sergey Sheremeta in Data Engineers
согласен. это бы решило проблему!
но на OSS версии не взлетает ((
источник

SS

Sergey Sheremeta in Data Engineers
или наплевать и допускать наличие дубликатов в бронзовом слое? их все равно можно определить по partition/offset из Кафки
источник

S

Stanislav in Data Engineers
Во всей истории, непонятно, почему эти процессы должны быть объединены.
Результат - разный, вычисления разные, взаимное влияние - нет и не должно быть, экономия ресурсов - нет
источник

S

Stanislav in Data Engineers
Количество кода?
источник

R

Renarde in Data Engineers
эмм, ну бронза она как бы по дизайну без трансформаций.
в идеальном мире она заполняется так:

spark.readStream.format("kafka").load().writeStream.format("delta or your cool file format").save("/your/path")
источник

ME

Max Efremov in Data Engineers
Пс, а бронза и прочие металлы это что за модель?
источник

R

Renarde in Data Engineers
Max Efremov
Пс, а бронза и прочие металлы это что за модель?
источник

ME

Max Efremov in Data Engineers
Спасибо)
источник

А

Алексей in Data Engineers
Потом плохо от числа файлов не станет?
источник

SS

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

S

Stanislav in Data Engineers
Алексей
Потом плохо от числа файлов не станет?
Станет конеш
Ссд вникнуть и зажить
источник

SS

Sergey Sheremeta in Data Engineers
Алексей
Потом плохо от числа файлов не станет?
а мы их ночью скомпактим, сразу после ночного прогона заполнения batch layer (по lambda-архитектуре)
источник

R

Renarde in Data Engineers
Алексей
Потом плохо от числа файлов не станет?
внутри Databricks - OPTIMIZE, вне - .read.repartition(X).mode("overwrite")
источник

А

Алексей in Data Engineers
Renarde
внутри Databricks - OPTIMIZE, вне - .read.repartition(X).mode("overwrite")
Понятно, думал, совсем нельзя трогать бронзовый слой
источник