跳到主要内容

size:获取数组或映射大小

速查结论

size(expr) 是 Spark SQL 中用于返回数组或映射的元素个数的函数。

语法

size(expr)

参数说明

参数类型说明
exprARRAY<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 设置为 falsespark.sql.ansi.enabled 设置为 true,则该函数对 NULL 输入返回 null。否则,该函数对 NULL 输入返回 -1。默认设置下返回 -1。
  • size 与 cardinality 等价:对于数组类型,size()cardinality() 功能相同,可以根据语义选择使用。

Since: 1.5.0

📱关注公众号

「数据仓库技术」文章同步更新,不错过每一篇干货

微信公众号二维码
💬加群交流

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

交流微信二维码

你可能还想看