TGViewer
дата инженеретта дата инженеретта @data_engineerette · 3.43K subscribers
Post #490 2.51K
Сопутки загрузок

🍔 Data Compaction

Pattern: Compactor

Стриминг пишет очень много мелких файлов, и эта проблема актуальна не только для hdfs, но и для s3. Потому что нужно перебирать много файлов, открывать/закрывать, скапливается куча меты для табличных форматов (delta lake, iceberg, hudi)

🧊 Решение - объединить в файлы побольше. В iceberg для этого есть процедура rewrite_data_files. Если таблица тяжелая, компакшн можно встроить в сам процесс загрузки. Или поставить на внерабочие часы, чтобы никому не мешать. Кстати, со стримингами у нас даже дважды компактится: каждый час и каждый день

После компакшена в iceberg можно почистить все ненужное через expire_snapshots - задаем время, раньше которого удаляются все снепшоты вместе с данными. Или просто подождать, пока оно само по ретеншену отвалится

☕️ Data Readiness

Pattern: Readiness Marker


Иногда потребителям данных нужно знать, что данные готовы

1й способ. Создавать файл по типу _SUCCESS в спарке отдельной таской в Airflow. Тогда потребители через FileSensor смогут мониторить появление файла

2й способ. Дождаться создания следующей партиции - это значит, что текущая закрыта

Тут используется pull - потребители сами чекают, готовы ли данные

⛅️ Event Driven

Pattern: External Trigger

А тут про push - загрузчик сам уведомляет, что данные появились

🌱🌱🌱🌱🌱

Очень прикольно, что даются описание и примеры для батча и для стриминга. И все с использованием самого популярного: Spark, Flink, Kafka, Airflow, Python, Scala, SQL, иногда с добавлением чисто западных штук

💐 Кстати, мне тут очень понравились несколько выражений из книги, первые два очень поэтичные:

Sad but true, but your data engineering life will rarely be a bed of roses.

However, life is not that rosy.

Always expecting the worst is probably not the best way to go through life, but it’s definitely one of the best approaches you can take to your data engineering projects.


#depatterns
  • 🔥 13
  • ❤ 4
  • 👍 4
More from @data_engineerette
  1. Sep 25, 2026Как прошла SmartData 2026? Я вот перечитываю свои впечатления от прошлого года и понимаю,…
  2. Sep 24, 2026Исследование data-people Тут ребята из DevCrowd запустили ежегодное исследование специалис…
  3. Sep 22, 20265 октября начнется 19-й поток программы Data Engineer от Newprolab Программа для junior- и…
  4. Sep 15, 2026Каким должен быть хороший DE? Меня однажды спросили на собесе: 🤩Какие 3 качества важны дл…
  5. Sep 12, 2026Mermaid-диаграммы Наконец-то дошли руки поковыряться в mermaid-диаграммах, это что за имба…
  6. Sep 2, 2026Iceberg — это внезапный бум или планомерная подготовка? Заметили, как с определенного моме…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →