Directorio de artículos
La siguiente es una descripción detallada de las tres funciones y una comparación entre ellas:
-
cache()
cache()
Una forma especial de yespersist()
, utilizando el método cache(), el nivel de almacenamiento predeterminado esMEMORY_ONLY
. Esto significa que los datos del RDD se almacenarán en la memoria del nodo. Si el espacio de memoria no es suficiente para contener todos los datos, algunos de los datos que no se almacenan en la memoria caché se volverán a calcular cuando sea necesario en lugar de guardarse en el disco. ParaMEMORY_AND_DISK
este nivel de almacenamiento, si el espacio de memoria no es suficiente para contener todos los datos, la parte desbordada de los datos se guardará en el disco, lo que se puede lograrpersist(StorageLevel.MEMORY_AND_DISK)
mediante .- Cuando se calculan los datos de un RDD, se mantendrán en la memoria del nodo para que se pueda acceder rápidamente a ellos en operaciones posteriores.
- No corta las dependencias del RDD.
-
persist(storageLevel: StorageLevel)
persist()
Permite al usuario seleccionar diferentes niveles de almacenamiento (incluyendoMEMORY_ONLY
,MEMORY_AND_DISK
, ,MEMORY_ONLY_SER
etc.).- con
cache()
clase