View a markdown version of this page

Uso de funciones de ventana SQL en lugar de join y groupBy - AWS Orientación 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

Las funciones de ventana (Sparkdocumentació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 las tareas de procesamiento, 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 groupBy función recopila los datos en grupos y realiza funciones de agregación sobre los datos agrupados. Cuando se utilizagroupBy, primero agrega Spark parcialmente los datos y, a continuación, mezcla el conjunto de datos reducido. Al utilizar 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.