формате
бизнесу необходимо быстро получать несколько строчек по конкретным id
так как индексов в hive нет, получение нескольких строк занимает долгое время, так как идёт full scan
поэтому предлагают перегружать таблицы в greenplum
подскажите, хорошая ли эта идея, сможет ли гринплам отдавать строчки по конкретным айди?
В Databricks есть bloom filters, мб найдете что-то похожее
кстати что бы не было фулскана можно партицировать по нужным столбцам, паркет на записи статистику соберет и на фильтре запушдаунит, главное что б размеры файлов были не слишком большие и размеры роу групп в каждом паркет файле; тогда фулл скана не будет
При записи сортируй по id. Если id не рандомная хрень - будет вытаскивать быстро
Он и в паркетах есть
а что такое рандомная хрень? uuid?
Ага. Тогда сортировать не имеет смысла
у бриксов он по другому организован немного. Вся суть его как раз вообще не сканировать файлики а сразу взять нужные. Поэтому блюм индекс в бриксах живет в отдельной папочке и используется до сканирования файлов данных Удобно его использовать когда хотят вот в каких-то случаях сканировать без указания ключа партиции. Работает в целом сносно и быстрее фуллскана
Да, все так. В обычных паркетах блюм в метадате row group
Обсуждают сегодня