我创建了一个如下的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
我的问题是如何从检查点目录中读取数据
答案 0 :(得分:-2)
正如@Yuval Itzchakov指出的那样,我们真的不需要玩检查站。 Spark使用检查点来实现容错。它广泛用于检查点状态的流作业,当执行程序失败时,可以生成一个新的,并且可以从检查点加载数据。
检查点在您更改代码时仍然存在问题,并希望在上次作业运行停止的地方继续运行,因为它会将代码与状态一起存储。
您实际上是在查看RDD的 OrderItem orderItem = em.find(OrderItem.class, 1);
em.detach(orderItem); // why need to detach it first???
orderItem.setPrice(1234);
em.merge(orderItem); // working
或persist
吗?