Compartilhar via


Função de agregação vector_sum

Aplica-se a:check marked yes Databricks Runtime 18.1 e superior

Calcula a soma de vetores em termos de elementos em uma agregação. Retorna um vetor em que 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 booliana opcional filtrando as linhas usadas para agregação.

Devoluções

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

NULL valores e nãoNULL vetores que contêm um NULL elemento são ignorados na agregação. Retorna NULL se todos os valores no grupo forem inválidos (NULL ou não–NULL vetores com NULL elementos). Retorna uma matriz [] vazia se todos os vetores de entrada estiverem vazios.

Observações

  • Há suporte apenas ARRAY<FLOAT> para 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 gera 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]