跳到主要内容

map_filter:映射过滤

速查结论

map_filter(expr, func) 是 Spark SQL 中用于使用 lambda 函数过滤映射中的条目的函数。

语法

map_filter(expr, func)

参数说明

参数类型说明
exprMAP<K,V>输入的映射
funclambda过滤函数,格式为 (k, v) -> boolean_expression。返回 true 的条目被保留

Examples

> SELECT map_filter(map(1, 0, 2, 2, 3, -1), (k, v) -> k > v);
{1:0,3:-1}

常见报错与避坑指南

  • lambda 函数必须返回布尔值:过滤函数的返回值必须是布尔类型,否则会触发类型错误。
  • 过滤条件应覆盖 NULL 值:如果映射的值可能为 NULL,lambda 函数应做好 NULL 处理,避免过滤结果不符合预期。

Since: 3.0.0

📱关注公众号

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

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

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

交流微信二维码

你可能还想看