gpt4 book ai didi

hadoop - 配置单元 get_json_object() : How to check if JSON field exists?

转载 作者:可可西里 更新时间:2023-11-01 15:21:50 26 4
gpt4 key购买 nike

我正在使用 Hive 和 get_json_object() 函数来查询存储为 JSON 的数据。 JSON 有一个 coordinate 键和两个字段(纬度和经度),如下所示:

   "coordinate":{  
"center":{
"lat":36.123413127558536,
"lng":-115.17381648045654
},
"precision":10
}

我正在运行 Hive 查询以检索某个地理坐标框中的数据,如下所示:

INSERT OVERWRITE LOCAL DIRECTORY '/home/user.name/sample/sample1.txt'
SELECT * FROM mytable
WHERE
get_json_object(mytable.`value`, '$.coordinate.center.lat') > 36.115767
AND get_json_object(mytable.`value`, '$.coordinate.center.lng') > -115.314051
AND get_json_object(mytable.`value`, '$.coordinate.center.lat') < 36.285595
AND get_json_object(mytable.`value`, '$.coordinate.center.lng') < -115.085399
DISTRIBUTE BY rand()
SORT by rand()
LIMIT 10000;

但是,问题是对于某些行,缺少coordinate 字段,或者缺少center 字段,或者缺少lat和/或 lng 字段丢失。我如何修改我的 Hive SELECT 查询以仅获取具有完整有效 coordinate 条目以及现有 latlng ?

最佳答案

我会为您所在的表格创建一个单独的 VIEW

WHERE get_json_object(...) IS NOT NULL 

针对您感兴趣的每个领域。

然后在该 View 上运行给定的查询

或者,修复您的输入源以使用 Avro 生成一些一致的数据,例如

关于hadoop - 配置单元 get_json_object() : How to check if JSON field exists?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51526830/

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