Partilhar via


vector_sum função de agregação

Aplica-se a:sim Databricks Runtime 18.1 e superiores

Calcula a soma elemento a elemento dos vetores num agregado. Devolve um vetor onde cada elemento é a soma dos elementos correspondentes em todos os vetores de entrada.

Sintaxe

vector_sum(vectors) [FILTER ( WHERE cond ) ]

Argumentos

  • Vetores: Uma coluna de ARRAY<FLOAT> expressões que representam vetores. Todos os vetores devem ter a mesma dimensão.
  • cond: Uma expressão booleana opcional que filtra as linhas usadas para agregação.

Devoluções

Um ARRAY<FLOAT> valor com a mesma dimensão dos vetores de entrada. Cada elemento no resultado é a soma dos elementos correspondentes em todos os vetores de entrada.

NULL Valores e não-vetoresNULL que contêm um NULL elemento são ignorados na agregação. Retorna NULL se todos os valores do grupo forem inválidos (NULL ou nãoNULL vetores com NULL elementos). Devolve um array [] vazio se todos os vetores de entrada estiverem vazios.

Notes

  • Apenas ARRAY<FLOAT> é suportado; outros tipos como ARRAY<DOUBLE> ou ARRAY<DECIMAL> gerar um erro.
  • Todos os vetores de entrada devem ter a mesma dimensão; caso contrário, a função eleva VECTOR_DIMENSION_MISMATCH.
  • Um não-vetorNULL que contém um NULL elemento é tratado como NULL.

Condições de erro

Exemplos

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