➖ Preemption
🪄Представьте, у нас есть YARN, в нем очереди, а в очередях бегут наши приложения. Под каждую очередь выделяется определенное количество ресурсов (память, ядра)
Пусть у нас одна очередь считает витрины, вторая льет стриминговые данные, а в третьей де/да/дс запускают свои наработки. И ресурсы разделены в таком соотношении:
1️⃣ batch - 60%
2️⃣ realtime - 30%
3️⃣ adhoc - 10%
Послеобеденное время, витринки особо пока не занимают очередь, пусть 20% вместо 60%. Тут приходит аналитик и запускает огроменный расчет, который перелопачивает 100млрд данных. Он занимает всю свою очередь, а сверху берет в долг ресурсы у витринной очереди, которая пока более-менее свободна
🗓️ Наступает момент запуска критичных витрин - а ресурсов уже нет. Они говорят: "Мы витринки, у нас повышенный приоритет на собственные ресурсы". Т.к. adhoc очередь их временно забрала, то экзекьюторы убиваются и ресурсы начинают отдаваться своей родной очереди
У бедного аналитика приложение будет простаивать, а все, что не посчиталось, потом пойдет считаться заново (когда очередь освободится)
🌷А вот надо было писать оптимальный запрос и не посягать на чужое имущество
Дисклеймер: любые совпадения с реальными личностями случайны
Post #378
3.21K


- 👍 11
- 😁 8
- 🔥 5
- ❤ 4
- 🌚 2