Conjuntos de datos Será el futuro de Spark.
Debería pensar en Datasets como una extensión de la API DataFrame existente pero con dos cosas adicionales: seguridad de tipo y una interfaz de programación orientada a objetos .
Lo bueno de DataFrames es que están estructurados. Esto viene con muchos beneficios de rendimiento. Dado que las operaciones se expresan en columnas, el optimizador de consultas subyacente comprende cómo encontrar planes más eficientes para generar la misma respuesta. Además, la existencia de un esquema permite a Spark codificar filas en un formato compacto, lo que nos permite mezclar menos datos, omitir algunas serializaciones y disfrutar de una mejor ubicación de caché.
- ¿Cuáles son algunos ejemplos de hermosos diagramas de red?
- Big data es mucho que aprender. ¿Cómo comienzo de una manera simple?
- ¿Hay empresas en la India que empleen estudiantes universitarios y los capaciten en Big Data Analytics / Data Science?
- ¿PostgreSQL es bueno o malo para Big Data?
- ¿Cuáles son los mejores recursos gratuitos para nuevos desarrollos en aprendizaje automático y ciencia de datos?
Por el contrario, los RDD expresan transformaciones en términos de código de usuario general, que es un cuadro negro completo para el motor de ejecución subyacente. Esto evita que Spark realice cualquiera de las optimizaciones posibles con DataFrames. Sin embargo, los RDD son estrictamente más potentes en el sentido de que puede expresar sus transformaciones con una programación imperativa, que puede ser más natural en ciertos casos.
Los conjuntos de datos combinan lo mejor de ambos mundos. La representación estructurada de datos le permite a Spark aprovechar todas las optimizaciones de rendimiento ofrecidas a DataFrames. Además, el uso de codificadores nos da seguridad de tipo, lo que a su vez hace posible el imperativo estilo de programación familiar para los usuarios de RDD.
Spark 2.0 (que se lanzará en junio de 2016) unifica estos tres conceptos. Los conjuntos de datos serán los predeterminados, aunque los DataFrames y los RDD seguirán estando disponibles para la compatibilidad con versiones anteriores.
Para obtener más detalles, lea nuestra publicación de blog Presentación de conjuntos de datos de Spark o vea la charla de Michael en Spark Summit East 2016: