在spark或hive中调用get\u json\u object()时无法获取值

6ioyuze2  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(424)

json字符串{“5.1”:1,“s”:2}
什么时候打电话

select get_json_object('{"5.1": 1,"s":2}',concat("$.","5.1"))
return NULL

什么时候打电话

select get_json_object('{"5.1": 1,"s":2}',concat("$.","s"))
return 2

似乎是这样。在5.1中,get\u json\u object()无法获取值。
有什么方法可以让get\u json\u object()正常工作吗?
配置单元文档显示。是子操作员,我可以禁用它吗?

ubof19bj

ubof19bj1#

. 仅在密钥中不支持 a-z , A-Z , 0-9 , _ , - , : 和空白字符

public class UDFJson extends UDF {
  private final Pattern patternKey = Pattern.compile("^([a-zA-Z0-9_\\-\\:\\s]+).*");

  ... 
}

udfjson.java文件

相关问题