La mayor diferencia entre dataframe y rdd
RDD es un conjunto de datos distribuidos flexible y el concepto de conjunto de datos es más sólido. Los contenedores pueden contener elementos serializables de cualquier tipo (se admiten genéricos).
La desventaja de RDD es que es imposible conocer la información del campo interno de cada elemento. Significado nombre, edad, etc. En la imagen de abajo, se desconoce la forma del objeto humano.
DataFrame también es un conjunto de datos distribuidos flexible, pero es esencialmente una tabla de datos distribuidos, por lo que es más exacto llamarlo tabla distribuida. Cada elemento del DataFrame no es un objeto genérico, sino un objeto de fila.
La desventaja de DataFrame es que la API Spark SQL DataFrame no admite la seguridad de tipos en tiempo de compilación, por lo que si se desconoce la estructura, los datos no se pueden manipular. Además, una vez que convierte un objeto de dominio en un marco de datos, no puede reconstruir el objeto de dominio.
DataFrame=RDD: esquema genérico conveniente para optimizar la operación del catalizador SQL. DataFrame es esencialmente una tabla de datos distribuidos. DataFrame tiene mejores características que RDD ya que proporciona administración de memoria y un plan de ejecución optimizado.