Delen via


vector_sum aggregerende functie

Van toepassing op:controleren gemarkeerd als Ja Databricks Runtime 18.1 en hoger

Berekent de som van vectoren in een aggregaties op basis van elementen. Retourneert een vector waarbij elk element de som is van de bijbehorende elementen voor alle invoervectoren.

Syntaxis

vector_sum(vectors) [FILTER ( WHERE cond ) ]

Argumenten

  • vectoren: een kolom met ARRAY<FLOAT> expressies die vectoren vertegenwoordigen. Alle vectoren moeten dezelfde dimensie hebben.
  • cond: Een optionele Booleaanse expressie die de rijen filtert die worden gebruikt voor aggregatie.

Retouren

Een ARRAY<FLOAT> waarde met dezelfde dimensie als de invoervectoren. Elk element in het resultaat is de som van de bijbehorende elementen voor alle invoervectoren.

NULL waarden en niet-vectorenNULL die een NULL element bevatten, worden genegeerd in de aggregatie. Retourneert NULL als alle waarden in de groep ongeldig zijn (NULL of niet-vectorenNULL met NULL elementen). Retourneert een lege matrix [] als alle invoervectoren leeg zijn.

Aantekeningen

  • Alleen ARRAY<FLOAT> wordt ondersteund; andere typen, zoals ARRAY<DOUBLE> of ARRAY<DECIMAL> genereren van een fout.
  • Alle invoervectoren moeten dezelfde dimensie hebben; anders wordt de functie VECTOR_DIMENSION_MISMATCH.
  • Een niet-vectorNULL die een NULL element bevat, wordt behandeld als NULL.

Foutvoorwaarden

Examples

-- 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]