0

次のようなRDDを作成しました。

scala> val x = List(1,2,3,4)
x: List[Int] = List(1, 2, 3, 4)

scala> val y = sc.parallelize(ls,2)
y: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[10] at parallelize at <console>:29

scala> val z = y.map( c => c*2)
z: org.apache.spark.rdd.RDD[Int] = MapPartitionsRDD[11] at map at <console>:31

scala> sc.setCheckpointDir("/tmp/chk")

scala> z.checkpoint

scala> z.count
res32: Long = 4

私の質問は、チェックポイントディレクトリからデータを読み取る方法です

4

1 に答える 1

-2

@Yuval Itzchakov が指摘しているように、チェックポイントをいじる必要はありません。チェックポイントは、耐障害性を実現するために Spark によって使用されます。チェックポイント状態のストリーミング ジョブで広く使用され、エグゼキュータが失敗した場合、新しいエグゼキュータを生成してチェックポイントからデータをロードできます。

コードを変更し、最後のジョブ実行が中断されたところから続行したい場合にも、チェックポイントには問題があります。これは、コードが状態と共に保存されるためです。

代わりに、実際にRDDを見ていますpersistか?cache

于 2016-08-28T15:02:42.680 に答える