Как стать автором
Обновить

Комментарии 4

Допустим, для загрузки нескольких лет данных ему понадобилось три месяца.

А можно примерный объем данных, которые грузятся так долго? Как целевая система релизует обработку данных - ждет полной загрузки и ворочает весь объем, или по мере поступления пересчитывается хранилище?

все данные, поступающие к нам через Apache Nifi, сохраняются в минимально измененном виде в HDFS

А можно поподробнее? Кто отвечает за хранение этой информации? Как долго, в среднем, хранятся данные? Доливаются ли сюда данные при последующей инкрементальной загрузке?

На на самом деле на практике у нас были загрузки не больше пары недель. И для таких загрузок хранилище пересчитывалось каждый день батчевыми процессами. Регламентый поток работал в параллели. Но здесь все разумеется зависит от всего цикла обработки информации. Что касается объёмов это если не ошибаюсь десятки терабайт в сжатом виде.

Но бывали разумеется на практике и потоки которые требовали строгой последовательности погрузки данных в этом случае Регламентый поток запускался только после завершения инициализации данных. И в некоторых ситуациях даже после исполнения пересчёта хранилища на инициированных данных, но это скорее редкость,в идеале последующий пайп не должен рассчитывать на весь объем инициализированных данных.

Про архив. Данные хранятся до 5 лет, в среднем год. Регламент доливает данные в архив по мере загрузки. За хранение отвечает у нас команда поддержки NiFi совместно с командой поддержки Систем хранения.

Надеюсь ответил на вопросы.

У нас гораздо меньше объемы. Сначала проводится историческа загрузка, делается пересчет, аналитик смотрит по срезу, все ли верно, все сделано так, как надо и т.д. После этого запускается инкрементальная загрузка с максимальным значением инкрементных ключей из ранее загруженных данных. Так как объемы не велики, то архив не храним, в случае необходимости перегрузка ставится в задание. Если данных до 100 млн записей, то можно грузить в любое время, разруливается приоритетами на потоки. А вот если больше, то под контролем команды NIFI (то есть меня :) ). Самое большое, что грузил - 500 млн записей, заняло 4-5 часов. Но грузил в выходные, когда DWH не нагружено запросами от аналитики.

На самом деле чистый объем не так принципиально в вопросе инициирующей загрузки, гораздо интересней соотношение регламента к инициализации. Как правило мощность среды затачивается под погрузку регламента,и если данных в 100-1000 раз больше чем дневной икремент то могут быть негативные последствия о которых я писал, даже если речь о каких-то десятках миллионов, при учете что среда рассчитана на тысячи записей. Но да, до определённых объёмов вполне реально не выделять инициализации как отдельный процесс. Если пропускная возможность среды сильно выше текущей ёмкости потока данных.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий