Aracılığıyla paylaş


vector_avg toplama işlevi

Şunun için geçerlidir:evet olarak işaretlendi Databricks Runtime 18.1 ve üzerini denetleyin

Bir toplamadaki vektörlerin öğe açısından ortalamasını hesaplar. Her öğenin tüm giriş vektörlerinde ilgili öğelerin aritmetik ortalaması olduğu bir vektör döndürür.

Sözdizimi

vector_avg(vectors) [FILTER ( WHERE cond ) ]

Argümanlar

  • vectors: Vektörleri temsil eden bir ifade sütunu ARRAY<FLOAT> . Tüm vektörler aynı boyuta sahip olmalıdır.
  • cond: Toplama için kullanılan satırları filtreleyerek isteğe bağlı bir boole ifadesi.

İadeler

ARRAY<FLOAT> Giriş vektörleriyle aynı boyuta sahip bir değer. Sonuçtaki her öğe, tüm giriş vektörlerinde karşılık gelen öğelerin ortalamasıdır.

NULLdeğerler ve öğe NULL içeren vektör olmayanNULL değerler toplamada yoksayılır. Gruptaki tüm değerler geçersizse döndürür NULL . Tüm giriş vektörleri boşsa boş bir dizi [] döndürür.

Notlar

  • Yalnızca ARRAY<FLOAT> desteklenir; veya gibi ARRAY<DOUBLE>ARRAY<DECIMAL> diğer türler hata oluşturur.
  • Tüm giriş vektörleri aynı boyuta sahip olmalıdır; aksi takdirde işlev VECTOR_DIMENSION_MISMATCH yükseltir.
  • Öğe içeren vektör olmayanNULL bir NULL öğe olarak NULLdeğerlendirilir.

Hata koşulları

Örnekler

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