Uso de funciones de ventana SQL en lugar de join y groupBy - AWS Guía prescriptiva

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de funciones de ventana SQL en lugar de join y groupBy

Funciones de ventana (Spark documentación) realizan un cálculo sobre un grupo de filas, denominado ventana, que de alguna manera se relacionan con el registro actual. Por ejemplo, pueden estar en la misma partición o marco que la fila actual. Las funciones de ventana están integradas en Spark y son similares a las funciones de agregado. Las funciones de agregado, como SUM o MAX, funcionan en un grupo de filas y calculan un único valor de retorno para cada grupo. Las funciones de ventana son útiles para procesar tareas, como calcular una media móvil o acceder al valor de las filas en función de la posición relativa de la fila actual.

La Spark groupByLa función recopila los datos en grupos y realiza funciones de agregación sobre los datos agrupados. Cuando usasgroupBy, Spark primero agrega parcialmente los datos y, a continuación, mezcla el conjunto de datos reducido. Cuando se utilizan las funciones de ventana, se mezcla todo el conjunto de datos. Las funciones de ventana pueden proporcionar tiempos de ejecución más rápidos.

En conjuntos de datos muy grandes, si la cardinalidad de la columna es grande, se recomiendan las funciones de ventana. Sin embargo, si la cardinalidad de la columna es pequeña, la agregación de datos es pequeña y el resultado agregado se puede difundir en la combinación.