size:获取数组或映射大小
速查结论
size(expr) 是 Spark SQL 中用于返回数组或映射的元素个数的函数。
语法
size(expr)
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
| expr | ARRAY<T> 或 MAP<K,V> | 输入的数组或映射 |
Examples
> SELECT size(array('b', 'd', 'c', 'a'));
4
> SELECT size(map('a', 1, 'b', 2));
2
常见报错与避坑指南
- NULL 输入的处理受配置影响:如果
spark.sql.legacy.sizeOfNull设置为false或spark.sql.ansi.enabled设置为true,则该函数对 NULL 输入返回null。否则,该函数对 NULL 输入返回 -1。默认设置下返回 -1。 - size 与 cardinality 等价:对于数组类型,
size()与cardinality()功能相同,可以根据语义选择使用。
Since: 1.5.0
📱关注公众号
「数据仓库技术」文章同步更新,不错过每一篇干货

💬加群交流
备注「数据仓库技术」加入社群,每日一道大厂SQL真题
