Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:
Databricks Runtime 18.1 и выше
Вычисляет среднее значение векторов по элементу в агрегате. Возвращает вектор, в котором каждый элемент является арифметическим значением соответствующих элементов во всех входных векторах.
Синтаксис
vector_avg(vectors) [FILTER ( WHERE cond ) ]
Аргументы
-
vectors: столбец выражений
ARRAY<FLOAT>, представляющих векторы. Все векторы должны иметь одинаковое измерение. - cond: необязательное логическое выражение, фильтрующее строки, используемые для агрегирования.
Возвраты
ARRAY<FLOAT> Значение с тем же измерением, что и входные векторы. Каждый элемент в результате — среднее значение соответствующих элементов во всех входных векторах.
NULL значения иNULL не векторы, NULL содержащие элемент, игнорируются в агрегировании. Возвращает, NULL если все значения в группе недопустимы. Возвращает пустой массив [] , если все входные векторы пусты.
Примечания
- Поддерживается только
ARRAY<FLOAT>другие типы, напримерARRAY<DOUBLE>илиARRAY<DECIMAL>возникают ошибки. - Все входные векторы должны иметь одинаковое измерение; в противном случае функция вызывает VECTOR_DIMENSION_MISMATCH.
- Не вектор
NULL, содержащийNULLэлемент, обрабатывается какNULL.
Условия ошибок
Примеры
-- Element-wise average per category (with GROUP BY)
> SELECT category, vector_avg(embedding) AS centroid
FROM vector_data
GROUP BY category
ORDER BY category;
category: A, centroid: [3.0, 6.0, 9.0]
category: B, centroid: [2.0, 4.0, 6.0]
-- Scalar aggregation (no GROUP BY)
> SELECT vector_avg(embedding) AS overall_centroid FROM vector_data;
overall_centroid: [2.5, 5.0, 7.5]