La diferencia entre RDD, DataFrame y DataSet en Spark

Publicado 2019-10-18 16:13:54Última respuesta oct. 18, 2019 16:14:19 54 1 0 0
  Recompensa Goldies : 0 (solución de problemas)

¡Hola!


¿Cuál es la diferencia entre RDD, DataFrame y DataSet en Spark?


  • x
  • convención:

Respuestas destacadas
LuisJimenez
Publicado 2019-10-18 16:14:19 Útil(0) Útil(0)
¡Hola!

RDD - Resilient Distributed Datasets

ventaja:
  • Seguridad de tipo de tiempo de compilación
  • El error de tipo se puede verificar en tiempo de compilación
  • Estilo de programación orientado a objetos
  • Operar datos directamente por medio de puntos de nombre de clase
Desventajas
  • Sobrecarga de rendimiento para serialización y deserialización
  • Tanto la comunicación entre clústeres como las operaciones de E / S requieren la serialización y deserialización de la estructura y los datos del objeto.
  • Gastos generales de rendimiento de GC
  • La creación y destrucción frecuente de objetos aumentará la GC.
 
Marco de datos
DataFrame presenta un esquema y fuera del montón
Esquema: los datos para cada fila de RDD tienen la misma estructura. Esta estructura se almacena en el esquema. Spark puede leer los datos a través del esquema, por lo que solo se necesita la serialización y deserialización de los datos en comunicación e IO, y la estructura La parte se puede omitir.
Off-heap: significa memoria fuera del montón JVM, que es administrado directamente por el sistema operativo (no JVM). Spark puede serializar datos (excluyendo la estructura) para desapilar en forma binaria. Cuando desee manipular datos, puede operar directamente la memoria fuera del montón. Como Spark entiende el esquema, sabe cómo operar.
Off-heap es como un sitio, el esquema es como un mapa, Spark tiene un mapa y tiene su propio sitio, puede decirlo usted mismo, ya no está sujeto a la JVM, GC no lo molestará más.
A través del esquema y fuera del montón, DataFrame resuelve las deficiencias de RDD, pero pierde las ventajas de RDD. DataFrame no es de tipo seguro, la API no está orientada a objetos.

Conjunto de datos
DataSet combina las ventajas de RDD y DataFrame y trae un nuevo concepto a Encoder
Al serializar datos, Encoder genera bytecode para interactuar con off-heap para lograr acceso bajo demanda a los datos sin deserializar todo el objeto. Spark aún no proporciona una API de codificador personalizada, pero la agregará en el futuro.
  • x
  • convención:

Todas las respuestas
LuisJimenez
LuisJimenez Publicado 2019-10-18 16:14:19 Útil(0) Útil(0)
¡Hola!

RDD - Resilient Distributed Datasets

ventaja:
  • Seguridad de tipo de tiempo de compilación
  • El error de tipo se puede verificar en tiempo de compilación
  • Estilo de programación orientado a objetos
  • Operar datos directamente por medio de puntos de nombre de clase
Desventajas
  • Sobrecarga de rendimiento para serialización y deserialización
  • Tanto la comunicación entre clústeres como las operaciones de E / S requieren la serialización y deserialización de la estructura y los datos del objeto.
  • Gastos generales de rendimiento de GC
  • La creación y destrucción frecuente de objetos aumentará la GC.
 
Marco de datos
DataFrame presenta un esquema y fuera del montón
Esquema: los datos para cada fila de RDD tienen la misma estructura. Esta estructura se almacena en el esquema. Spark puede leer los datos a través del esquema, por lo que solo se necesita la serialización y deserialización de los datos en comunicación e IO, y la estructura La parte se puede omitir.
Off-heap: significa memoria fuera del montón JVM, que es administrado directamente por el sistema operativo (no JVM). Spark puede serializar datos (excluyendo la estructura) para desapilar en forma binaria. Cuando desee manipular datos, puede operar directamente la memoria fuera del montón. Como Spark entiende el esquema, sabe cómo operar.
Off-heap es como un sitio, el esquema es como un mapa, Spark tiene un mapa y tiene su propio sitio, puede decirlo usted mismo, ya no está sujeto a la JVM, GC no lo molestará más.
A través del esquema y fuera del montón, DataFrame resuelve las deficiencias de RDD, pero pierde las ventajas de RDD. DataFrame no es de tipo seguro, la API no está orientada a objetos.

Conjunto de datos
DataSet combina las ventajas de RDD y DataFrame y trae un nuevo concepto a Encoder
Al serializar datos, Encoder genera bytecode para interactuar con off-heap para lograr acceso bajo demanda a los datos sin deserializar todo el objeto. Spark aún no proporciona una API de codificador personalizada, pero la agregará en el futuro.
  • x
  • convención:

Comentar

Responder
Debe iniciar sesión para responder la publicación Inicio de sesión | Registrarse

Aviso Aviso: Para garantizar sus legítimos derechos e intereses, la comunidad y los terceros no publicarán contenido que pueda generar riesgos legales a las partes, por ejemplo, pornografía, contenido político, contenido sobre juego, consumo y tráfico de drogas, así como contenido que viole los derechos de propiedad intelectual de terceros, por ejemplo, secretos comerciales, marcas, derechos de autor, patentes y privacidad personal. No comparta su cuenta ni su contraseña con terceros. Todas las operaciones realizadas usando su cuenta se considerarán como sus acciones y todas las consecuencias que estas acciones generen serán responsabilidad suya. Para obtener información detallada, consulte la “ Política de privacidad.”
Si el botón para adjuntar no está disponible, actualice Adobe Flash Player con la versión más reciente
¡Ingresa y disfruta de todos los beneficios para los miembros!

¡Ingresa y disfruta de todos los beneficios para los miembros!

Aterrizaje