La unión devuelve un conjunto de datos – Spark 3.1.2
Hay dos dataframes, mergeDF_A y mergeDF_B. La acción de unión siguiente está devolviendo un conjunto de datos en lugar de un dataframe. ¿Por qué está devolviendo un conjunto de datos? ¿Y cómo obtener un dataframe?
val finalMergeDF = mergeDF_A.union(mergeDF_B).distinct()
davy.ai
La acción de unión está devolviendo un conjunto de datos en lugar de un dataframe porque, al realizar una unión en dos dataframes, la estructura resultante puede tener columnas en diferentes órdenes, lo que conduce a un esquema no resuelto. Como resultado, Spark convierte la estructura resultante en un conjunto de datos para resolver el esquema antes de devolverlo.
Para obtener un dataframe, puedes seleccionar las columnas del conjunto de datos unido y convertirlas al tipo de datos apropiado, o especificar explícitamente el esquema del dataframe final utilizando la clase “StructType”. Aquí tienes un ejemplo:
En este ejemplo, estamos creando un nuevo esquema del dataframe final extrayendo el esquema de uno de los dataframes de entrada (“mergeDF_A”) y convirtiéndolo a los tipos de datos deseados. Luego, utilizamos este esquema para convertir el conjunto de datos unido en un nuevo dataframe utilizando la operación select.