Я ищу способ проверки контрольных точек DataFrames. В настоящее время контрольная точка работает с RDD, но я не могу найти, как это сделать с помощью DataFrames. persist и cache (которые являются синонимами друг для друга) доступны для DataFrame, но они не "ломают линию" и, таким образом, непригодны для методов, которые могут зацикливаться на сотни (или тысячи) итераций.
В качестве примера предположим, что у меня есть список функций, сигнатура которых - DataFrame = > DataFrame. Я хочу иметь способ вычислить следующее, даже если myfunctions содержит сотни или тысячи записей:
def foo(dataset: DataFrame, g: DataFrame => Unit) =
myfunctions.foldLeft(dataset) {
case (df, f) =>
val nextDF = f(df)
g(nextDF)
nextDF
}