Compartir a través de


vector_avg (función de agregación)

Se aplica a:check marcado yes Databricks Runtime 18.1 y versiones posteriores

Calcula el promedio de vectores en un agregado. Devuelve un vector donde cada elemento es la media aritmética de los elementos correspondientes en todos los vectores de entrada.

Sintaxis

vector_avg(vectors) [FILTER ( WHERE cond ) ]

Argumentos

  • vectores: una columna de ARRAY<FLOAT> expresiones que representa vectores. Todos los vectores deben tener la misma dimensión.
  • cond: expresión booleana opcional que filtra las filas usadas para la agregación.

Devoluciones

Valor ARRAY<FLOAT> con la misma dimensión que los vectores de entrada. Cada elemento del resultado es el promedio de los elementos correspondientes en todos los vectores de entrada.

NULL los valores y los vectores queNULL contienen un NULL elemento se omiten en la agregación. Devuelve NULL si todos los valores del grupo no son válidos. Devuelve una matriz [] vacía si todos los vectores de entrada están vacíos.

Notas

  • Solo ARRAY<FLOAT> se admite; otros tipos como ARRAY<DOUBLE> o ARRAY<DECIMAL> generan un error.
  • Todos los vectores de entrada deben tener la misma dimensión; de lo contrario, la función genera VECTOR_DIMENSION_MISMATCH.
  • NULL Un vector que contiene un NULL elemento se trata como NULL.

Condiciones del error

Ejemplos

-- Element-wise average per category (with GROUP BY)
> SELECT category, vector_avg(embedding) AS centroid
    FROM vector_data
    GROUP BY category
    ORDER BY category;
  category: A, centroid: [3.0, 6.0, 9.0]
  category: B, centroid: [2.0, 4.0, 6.0]

-- Scalar aggregation (no GROUP BY)
> SELECT vector_avg(embedding) AS overall_centroid FROM vector_data;
  overall_centroid: [2.5, 5.0, 7.5]