Size: a a a

2021 May 13

SO

Simon Osipov in Data Engineers
источник

AZ

Anton Zadorozhniy in Data Engineers
интересный вопрос про формат данных для datalakehouse, у паркета очевидные недостатки, интересно куда пойдет Databricks в этой части - дописывать структуры для паркета рядом, или будут делать свой проприетарный формат как Firebolt
источник

ME

Mikhail Epikhin in Data Engineers
ну они уже дописывают свои структуры рядом
источник

ME

Mikhail Epikhin in Data Engineers
но свой формат тоже возможен, конечно
источник

SS

Sergey Sheremeta in Data Engineers
Антон, то что очевидно вам - не всегда очевидно простым смертным 🙂 можете раскрыть что для "очевидные недостатки паркета"? и вроде как именно доп-структуры в Delta-формате и используются - delta-log
источник

AZ

Anton Zadorozhniy in Data Engineers
я не про Delta манифесты, а свои форматы для разряженных данных, для continuous writes, индексы
источник

AZ

Anton Zadorozhniy in Data Engineers
я говорю про поддержку индексов, нормальную поддержку полуструктурированных данных, более удобный формат для последовательной записи, сортировки если нужно (чтобы мерджить или искать было быстрее) - все это можно прикрутить сбоку к паркету, но можно и свои форматы написать, это же очевидное конкурентное преимущество
источник

D

Dmitry in Data Engineers
мне вот интересно, если я на датабриксе сделаю vacum, что произойдет с паралелльными долгоиграющими запросами ?
источник

D

Dmitry in Data Engineers
кстати на бесплатном delta.io 0.6 и spark 2.4 кеш подглючивает, т.е. один сделал vacum, то другая спарк сессия делает запрос в delta таблицу может упасть пытаясь считать давно не существующие файлы, типа delta.log или удаленный вакумом паркет. т.е. acid такой, специфический.
источник

AM

Almaz Murzabekov in Data Engineers
Они упадут по FileNotFoundException, мы постоянно сталкиваемся с таким поведением.

В нашем случае есть стрим джоба которая из кафки кладет данные в дельту таблицу, и отдельная батч джоба, которая из этой таблицы делает (скажем) аггреграцию, после этого делает VACUUM & OPTIMIZE. Периодически стриминг джоба падает по этой ошибке. Мы обошли это тем, что сделали партиционирование таблицы, а вакуум и оптимайз делаем только на нужной партиции
источник

AZ

Anton Zadorozhniy in Data Engineers
у них есть вроде флажок защищающий от запуска вакума на данных против которых бежит запрос или джоб spark.databricks.delta.retentionDurationCheck.enabled
источник

AM

Almaz Murzabekov in Data Engineers
ага, но тогда надо будет динамически стопать стриминг, и поднимать после того как батч отработает. Чтоб этим пока не возиться,  этот параметр у нас установлен = false
источник

AZ

Anton Zadorozhniy in Data Engineers
ясно, спасибо
источник

AZ

Anton Zadorozhniy in Data Engineers
вот собсно одна из причин почему нужен формат лучше чем паркет
источник

AZ

Anton Zadorozhniy in Data Engineers
наверное это для optimize, а не для vacuum, vacuum просто удаляет файлы старше retention
источник

ИК

Иван Калининский... in Data Engineers
Нужен, очень нужен лучший формат))
На самом деле так про любой софт/технологию можно сказать. Например стораджи, в которых когда нибудь будет лежать этот идеальный формат, тоже нужны получше, чем сегодняшние
источник

AZ

Anton Zadorozhniy in Data Engineers
конечно, так можно сказать, но мы конкретно говорили о концепции datalakehouse, и для этой концепции паркет это узкое место
источник

AZ

Anton Zadorozhniy in Data Engineers
нам вместо формата для максимального сжатия структурированного датасета нужен формат для хранения таблицы и вторичных структур от аналитической СУБД
источник

AG

Alexander Gorokhov in Data Engineers
Скажешь через хинт
источник

ИК

Иван Калининский... in Data Engineers
Понимаю. Много мыслей по этому поводу. Если есть индексы, то нужны адресуемые единицы хранения данных, на которые индексы смогут указывать. Если данные изменяются, нужно разруливать превышение размера хранения, переносить часть данных, уплотнять и тому подобное. DDL, секционирование, битовые индексы, да в общем всё, что РСУБД накопили за десятилетия, хорошо будет видеть в применении к бигдате

С другой стороны, разве это не переизобретение колеса? Ora, TD, PG, GP уже есть и предлагают огромные возможности как для тех, кто готов платить, так и для тех, кто продолжает плакать и колоться))

А к паркету (и к ORC) вполне можно битовый индекс прикрутить, и пушдаунить предикаты по индексу. Но ведь уже есть сжатие по словарю, в некоторых случаях поиск по нему будет также эффективен

Ещё всегда вспоминаю формат CarbonData. Очень многое в нём было сделано, и DDL и индексы и матвью, но опыт использования скорее негативный, и слышно о формате не так много, как о том же Hudi
источник