文章目录
原文:Apache Spark SQL --- Vector Functions
本分类按照 Spark SQL 官方目录函数顺序整理,共 7 个函数。
1、vector_avg
语法
sql
vector_avg(array)
说明
计算一组相同维度浮点向量的逐元素平均值。
示例
sql
> SELECT vector_avg(col) FROM VALUES (array(1.0F, 2.0F)), (array(3.0F, 4.0F)) AS tab(col);
[2.0,3.0]
引入版本: 4.2.0
2、vector_cosine_similarity
语法
sql
vector_cosine_similarity(array1, array2)
说明
返回两个相同维度浮点向量的余弦相似度。
示例
sql
> SELECT vector_cosine_similarity(array(1.0F, 2.0F, 3.0F), array(4.0F, 5.0F, 6.0F));
0.9746319
引入版本: 4.2.0
3、vector_inner_product
语法
sql
vector_inner_product(array1, array2)
说明
返回两个相同维度浮点向量的内积。
示例
sql
> SELECT vector_inner_product(array(1.0F, 2.0F, 3.0F), array(4.0F, 5.0F, 6.0F));
32.0
引入版本: 4.2.0
4、vector_l2_distance
语法
sql
vector_l2_distance(array1, array2)
说明
返回两个相同维度浮点向量的欧氏距离(L2 距离)。
示例
sql
> SELECT vector_l2_distance(array(1.0F, 2.0F, 3.0F), array(4.0F, 5.0F, 6.0F));
5.196152
引入版本: 4.2.0
5、vector_norm
语法
sql
vector_norm(vector, degree)
说明
按指定阶数计算向量范数,默认使用二阶范数。
示例
sql
> SELECT vector_norm(array(3.0F, 4.0F), 2.0F);
5.0
引入版本: 4.2.0
6、vector_normalize
语法
sql
vector_normalize(vector, degree)
说明
按照指定范数阶数将向量归一化。
示例
sql
> SELECT vector_normalize(array(3.0F, 4.0F), 2.0F);
[0.6,0.8]
引入版本: 4.2.0
7、vector_sum
语法
sql
vector_sum(array)
说明
计算一组相同维度浮点向量的逐元素之和。
示例
sql
> SELECT vector_sum(col) FROM VALUES (array(1.0F, 2.0F)), (array(3.0F, 4.0F)) AS tab(col);
[4.0,6.0]
引入版本: 4.2.0