Red de conocimiento informático - Material del sitio web - Cómo entender la estructura de RDD y DataFrame en Spark

Cómo entender la estructura de RDD y DataFrame en Spark

Su comprensión de RDD es correcta, RDD es una lista distribuida desordenada.

Cualquier tipo de datos independientes se pueden almacenar en RDD. Sin embargo, el uso directo de RDD tiene una desventaja: cuando los requisitos de campo son obvios, las operaciones son difíciles de reutilizar.

Por ejemplo, los datos almacenados en el RDD ahora son de tipo Persona y ahora requieren la altura máxima y el peso máximo de todas las personas en cada grupo de edad (10 años es un grupo de edad).

Cuando se utiliza la interfaz RDD, dado que RDD no conoce la estructura exacta de los datos almacenados en ella, la estructura de los datos es un cuadro negro, lo que requiere que el usuario escriba un agregado muy profesional. función. Completa esta función.

Con DataFrame, el marco comprende el tipo de estructura de los datos en el RDD y el usuario puede decir qué operación desea realizar en cada columna, por lo que es posible implementar un único operador que puede ser se utiliza en varias columnas y la reutilización del operador es más fácil. Incluso si en el futuro desea saber cuántos apellidos diferentes hay en cada grupo de edad al mismo tiempo, al usar la interfaz RDD, la función anterior debe cambiarse en gran medida para satisfacer las necesidades, mientras se usa la interfaz DataFrame. solo necesita aumentar el número de procesamiento de esta columna, mientras que el procesamiento máximo/mínimo original de las columnas relevantes puede permanecer sin cambios.

En resumen, la interfaz relacionada con DataFrame es una extensión de RDD, que permite a RDD saber qué columnas incluyen los datos almacenados en RDD y puede operar en estas columnas.

Además, DataFrame básicamente está siendo reemplazado por la interfaz Dataset, sobre la cual puedes obtener más información.

Finalmente, déjame hacer un anuncio: si eres estudiante de Baidu y tienes necesidades similares después de ver mi respuesta, puedes utilizar nuestro proyecto Bigflow. Su diseño API es más fácil de usar que Spark. y código de usuario La reutilización también es mayor. Nuestras interfaces relacionadas con Schema superan con creces a DataFrame/Dataset en términos de reutilización de código. Si no lo crees si me escuchas "alardear" aquí, simplemente finge que no lo escuchaste. No necesitamos discutir. ¡Es sólo por el corto plazo! No necesitamos discutir, no podemos demostrárselo en el corto plazo.