gpt4 book ai didi

hadoop - 在Hive SQL中将字符串读取为array

转载 作者:行者123 更新时间:2023-12-02 18:31:16 34 4
gpt4 key购买 nike

我正在研究 hive ,通过 hive 查询从JSON字符串中读取了一些字段。 JSON字符串中的一个字段实际上是字符串数组,但像{... , 'arrText' : '["a","b","c"]',... }这样存储为字符串
我想在 hive 查询本身中将此字符串读取为字符串数组。

hive (joshua)> 
> select some_function('["a","b","c"]');
OK
["a","b","c"]
Time taken: 0.134 seconds, Fetched: 1 row(s)
我可以代替 some_function(内置的配置单元)并完成它,而不是为此编写UDF吗?
提前致谢

最佳答案

没有udf的一种方法是使用一些预定义的 hive 函数,例如split,regex extract等。

select split(regexp_extract('["a","b","c"]','^\\["(.*)\\"]$',1),'","');
=> ["a","b","c"]
即使可以处理中间逗号
select split(regexp_extract('["a","b,c","d"]','^\\["(.*)\\"]$',1),'","');
=> ["a","b,c","d"]
希望对您有帮助

关于hadoop - 在Hive SQL中将字符串读取为array <string>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62484543/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com