Dela via


vector_sum aggregatfunktion

Gäller för:check markerat ja Databricks Runtime 18.1 och senare

Beräknar den elementvisa summan av vektorer i en aggregering. Returnerar en vektor där varje element är summan av motsvarande element i alla indatavektorer.

Syntax

vector_sum(vectors) [FILTER ( WHERE cond ) ]

Arguments

  • vektorer: En kolumn med ARRAY<FLOAT> uttryck som representerar vektorer. Alla vektorer måste ha samma dimension.
  • cond: Ett valfritt booleskt uttryck som filtrerar de rader som används för aggregering.

Retur

Ett ARRAY<FLOAT> värde med samma dimension som indatavektorerna. Varje element i resultatet är summan av motsvarande element i alla indatavektorer.

NULL värden och icke-vektorerNULL som innehåller ett NULL element ignoreras i aggregeringen. Returnerar NULL om alla värden i gruppen är ogiltiga (NULL eller icke-vektorerNULL med NULL element). Returnerar en tom matris [] om alla indatavektorer är tomma.

Notes

  • Endast ARRAY<FLOAT> stöds, andra typer, till exempel ARRAY<DOUBLE> eller ARRAY<DECIMAL> skapar ett fel.
  • Alla indatavektorer måste ha samma dimension. annars höjer funktionen VECTOR_DIMENSION_MISMATCH.
  • En icke-vektorNULL som innehåller ett NULL element behandlas som NULL.

Feltillstånd

Exempel

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