Sdílet prostřednictvím


vector_sum agregační funkce

Platí pro:check označený ano Databricks Runtime 18.1 a novější

Vypočítá součet vektorů moudrých prvků v agregaci. Vrátí vektor, kde každý prvek je součet odpovídajících prvků napříč všemi vstupními vektory.

Syntaxe

vector_sum(vectors) [FILTER ( WHERE cond ) ]

Argumenty

  • vektory: Sloupec ARRAY<FLOAT> výrazů představujících vektory. Všechny vektory musí mít stejnou dimenzi.
  • cond: Volitelný logický výraz filtrující řádky použité pro agregaci.

Návraty

Hodnota ARRAY<FLOAT> se stejnou dimenzí jako vstupní vektory. Každý prvek ve výsledku je součet odpovídajících prvků ve všech vstupních vektorech.

NULL hodnoty a neNULL vektory obsahující NULL prvek jsou v agregaci ignorovány. Vrátí NULL , pokud jsou všechny hodnoty ve skupině neplatné (NULL nebo neNULL vektory s NULL prvky). Vrátí prázdnou matici [] , pokud jsou všechny vstupní vektory prázdné.

Poznámky

  • Podporuje se pouze ARRAY<FLOAT> jiné typy, například ARRAY<DOUBLE> nebo ARRAY<DECIMAL> vyvolání chyby.
  • Všechny vstupní vektory musí mít stejnou dimenzi; jinak funkce vyvolá VECTOR_DIMENSION_MISMATCH.
  • Vektor,NULL který obsahuje NULL prvek, je považován za NULL.

Stavy chyb

Příklady

-- Element-wise sum per category (with GROUP BY)
> SELECT category, vector_sum(embedding) AS sum_vector
    FROM vector_data
    GROUP BY category
    ORDER BY category;
  category: A, sum_vector: [5.0, 7.0, 9.0]
  category: B, sum_vector: [5.0, 3.0, 5.0]

-- Scalar aggregation (without GROUP BY)
> SELECT vector_sum(embedding) AS total_sum FROM vector_data;
  total_sum: [10.0, 10.0, 14.0]