跳到主要内容

str_to_map:字符串转Map

速查结论

str_to_map(text[, pairDelim[, keyValueDelim]]) 是 Spark SQL 中用于使用分隔符将文本分割成键值对并创建映射的函数。

语法

str_to_map(text[, pairDelim[, keyValueDelim]])

参数说明

参数类型说明
textSTRING要解析为键值对的文本字符串
pairDelimSTRING键值对之间的分隔符,默认逗号 ,。被视为正则表达式
keyValueDelimSTRING键与值之间的分隔符,默认冒号 :。被视为正则表达式

示例

> SELECT str_to_map('a:1,b:2,c:3', ',', ':');
{"a":"1","b":"2","c":"3"}
> SELECT str_to_map('a');
{"a":null}

常见报错与避坑指南

  • pairDelimkeyValueDelim 都被视为正则表达式,若分隔符本身是正则特殊字符(如 .|),需使用反斜杠转义。
  • 当字符串中只有键而没有值(如 'a'),对应的值将设为 NULL。
  • Map 中所有值均为 STRING 类型,如需数值类型需后续使用 cast 转换。

Since: 2.0.1

📱关注公众号

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

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

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

交流微信二维码

你可能还想看