Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à :
Databricks Runtime 18.1 et versions ultérieures
Calcule la moyenne des vecteurs à l’échelle de l’élément dans un agrégat. Retourne un vecteur où chaque élément est la moyenne arithmétique des éléments correspondants sur tous les vecteurs d’entrée.
Syntaxe
vector_avg(vectors) [FILTER ( WHERE cond ) ]
Arguments
-
vecteurs : colonne d’expressions
ARRAY<FLOAT>représentant des vecteurs. Tous les vecteurs doivent avoir la même dimension. - cond : expression booléenne facultative filtrant les lignes utilisées pour l’agrégation.
Retours
Valeur ARRAY<FLOAT> avec la même dimension que les vecteurs d’entrée. Chaque élément du résultat est la moyenne des éléments correspondants sur tous les vecteurs d’entrée.
NULL les valeurs et les non-vecteursNULL contenant un NULL élément sont ignorés dans l’agrégation. Retourne NULL si toutes les valeurs du groupe ne sont pas valides. Retourne un tableau [] vide si tous les vecteurs d’entrée sont vides.
Remarques
- Seul
ARRAY<FLOAT>est pris en charge ; d’autres types tels queARRAY<DOUBLE>ouARRAY<DECIMAL>déclenchent une erreur. - Tous les vecteurs d’entrée doivent avoir la même dimension ; sinon, la fonction déclenche VECTOR_DIMENSION_MISMATCH.
- Un vecteur qui
NULLcontient unNULLélément est traité commeNULL.
Conditions de l’erreur
Exemples
-- 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]