к усечению графа происхождения набора RDD без сохранения в хранилище, она не подходит для кластеров в которых возможны отказы, вытеснение или динамические понижающие вертикальное масштабирование в период времени когда могут выполняться обращение к набору RDD"
Ациклический Граф тут - всё понятно создаем контрольную точку, до этой точки строится граф и дальше считается от неё. Но дальнейшее предупреждение непонятно ведь любой кластер подвержен отказам и в любом кластере работает функция вытеснения (в том числе и промежуточных значений) в оперативной памяти новыми наборами.
динамические понижающие вертикальное масштабирование - это что такое?
контрольные точки кстати были и для случаев когда жобы завалились рестартануть с нее таска может в случае если она идемпотентна
Очень похоже, что тут без Клеппмана не разобраться, потому что перевод несколько запутанный)) Оригинальная цитата: Spark includes a Local Checkpointing option that truncates the RDD’s lineage graph but doesn’t persist to stable storage. This is not suitable for clusters that may experience failures, preemption, or dynamic scale-downs during the time the RDD may be refer‐ enced. Что касается самих локальных контрольных точек, то в их документирующих комментариях есть вот что: Local checkpoints are written to executor storage and despite potentially faster they are unreliable and may compromise job completion. По-моему, под отказами (failures) здесь имеются в виду полные отказы, при этом восстановиться невозможно, поскольку нельзя сопоставить DAG и контрольную точку. Дальше мне приходится только догадываться: вытеснение (preemption) имеет отношение к шедулеру, значит, если шедулер может прерывать выполнение джобов или отдельных тасков, или приложений (кубер вроде может, но я совершенно не в курсе), то тут чекпоинты тоже оказываются неэффективными И, наконец динамические понижающие вертикальное масштабирование - dynamic scale-downs, похоже тоже на какой-то процесс, когда часть кластера выводится из рабочего состояния, при этом нет гарантии, что чекпоинт можно будет использовать Методы Dataset.checkpoint() отмечены как @Experimental с 2.1.0
тут два момента: - local checkpointing - stable storage локал чейкпонтинг никакого не даст стейбл стораджа хочешь стейбла используй обычные чекпойнты и персисить их хоть на s3 другое дело что сам механизм чекпойнтов очень нежный рекавериться можно хоть после кила кластера и заново его создания
Обсуждают сегодня