Foro Formación Hadoop

 
 
Imagen de Jesús Marcial Méndez Gálvez
Cache y CheckPoint - Spark
de Jesús Marcial Méndez Gálvez - lunes, 18 de julio de 2016, 21:59
 

Buenas, Estoy practicando con spark, sin embargo algunos conceptos no me quedan claros :(

tengo algunas dudas sobre el uso del CheckPoint en una aplicación de spark.  Cual es la diferencia entre usar Persist(caché)  y Checkpoint. 

algun ejemplo basico sobre el uso de checkpoint,  Agradesco su atención :)

 
Imagen de Fabiola Carrasco
Re: Cache y CheckPoint - Spark
de Fabiola Carrasco - martes, 19 de julio de 2016, 08:26
 

Hola Jesús,

El checkpoint se debe utilizar cuando tienes algoritmos con muchas iteraciones o en Spark Streaming. El checkpoint nos ayuda a liberar el "linage" de los RDD que estas creando, es decir, cada vez que creamos un RDD Spark va almacenando de donde viene ese RDD por si en caso de caída tiene que volver a regenerar los datos (ya sean enteros o de alguna partición en concreto). Si utilizamos la cache, Spark debe guardar este "linage" por lo que estamos ocupando recursos en el sistema. Con el checkpoint, al tener que realizar ese checkpoint en HDFS, no debe guardar este linage, por lo que se liberan muchos recursos.

Por esta razón el checkpoint se debería utilizar cuando se estén realizando muchas iteraciones de RDD (por ejemplo el ejercicio del K-means que indicamos en el módulo de Spark, ya que se deben realizar n iteraciones para poder resolver el algoritmo).

Un saludo.

Imagen de Jesús Marcial Méndez Gálvez
Re: Cache y CheckPoint - Spark
de Jesús Marcial Méndez Gálvez - martes, 19 de julio de 2016, 19:17
 

Hola Fabiola, Gracias por la respuesta.. 

Entiendo que es conveniente dar uso de CheckPoints en procesos repetitivos para los RDD.  Ya que al usar CheckPoint hacemos que se guarde un punto de "iteracion" en el HDFS.  

de todas maneras dare una vuelta por el ejercicio que mencionas, cualquier cosa te comento.  Un saludo.