Очень похоже, что тут без Клеппмана не разобраться, потому что перевод несколько запутанный))
Оригинальная цитата:
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