Bagikan melalui


vector_avgFungsi agregasi

Berlaku untuk:check ditandai ya Databricks Runtime 18.1 ke atas

Menghitung rata-rata vektor yang bijaksana dalam agregat. Mengembalikan vektor di mana setiap elemen adalah rata-rata aritmatika dari elemen yang sesuai di semua vektor input.

Sintaksis

vector_avg(vectors) [FILTER ( WHERE cond ) ]

Argumen

  • vektor: Kolom ARRAY<FLOAT> ekspresi yang mewakili vektor. Semua vektor harus memiliki dimensi yang sama.
  • cond: Ekspresi boolean opsional yang memfilter baris yang digunakan untuk agregasi.

Pengembalian Barang

Nilai ARRAY<FLOAT> dengan dimensi yang sama dengan vektor input. Setiap elemen dalam hasil adalah rata-rata elemen yang sesuai di semua vektor input.

NULL nilai dan non-vektorNULL yang NULL berisi elemen diabaikan dalam agregasi. Mengembalikan NULL jika semua nilai dalam grup tidak valid. Mengembalikan array [] kosong jika semua vektor input kosong.

Catatan

  • Hanya ARRAY<FLOAT> didukung; jenis lain seperti ARRAY<DOUBLE> atau ARRAY<DECIMAL> menimbulkan kesalahan.
  • Semua vektor input harus memiliki dimensi yang sama; jika tidak, fungsi akan meningkatkan VECTOR_DIMENSION_MISMATCH.
  • Non-vektorNULL yang berisi NULL elemen diperlakukan sebagai NULL.

Kondisi kesalahan

Examples

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