Hive----get_json_object() 函数

简介: get_json_object() 函数

get_json_object()函数

get_json_object(string json_string, string path)

 

说明:

第一个参数填写json对象变量,

第二个参数使用$表示json变量标识,然后用 . 或 [] 读取对象或数组;如果输入的json字符串无效,那么返回NULL。

每次只能返回一个数据项。

 

data =

{

"store":

       {

       "fruit":[{"weight":8,"type":"apple"}, {"weight":9,"type":"pear"}],  

       "bicycle":{"price":19.95,"color":"red"}

        },

"email":"amy@only_for_json_udf_test.net",

"owner":"amy"

}

 

get单层值

hive> select get_json_object(data, '$.owner') from test;

结果:amy

 

get多层值.

hive> select get_json_object(data, '$.store.bicycle.price') from test;

结果:19.95

 

get数组值[]

hive> select get_json_object(data, '$.store.fruit[0]') from test;

结果:{“weight”:8,“type”:“apple”}

目录
相关文章
|
4月前
|
SQL HIVE
Hive LAG函数分析
Hive LAG函数分析
64 0
|
2天前
|
存储 PHP 数据安全/隐私保护
spl_object_hash() 函数
spl_object_hash() 函数
|
7天前
|
SQL JavaScript 前端开发
Hive根据用户自定义函数、reflect函数和窗口分析函数
Hive根据用户自定义函数、reflect函数和窗口分析函数
17 6
|
4月前
|
SQL HIVE
hive高频函数(一)
hive高频函数(一)
37 0
|
26天前
【Azure Durable Function】PowerShell Activity 函数遇见 Newtonsoft.Json.JsonReaderException: The reader's MaxDepth of 64 has been exceeded.
【Azure Durable Function】PowerShell Activity 函数遇见 Newtonsoft.Json.JsonReaderException: The reader's MaxDepth of 64 has been exceeded.
|
20天前
|
存储 关系型数据库 MySQL
|
3月前
|
JSON 关系型数据库 数据库
PostgreSQL中json_to_record函数的神秘面纱
`json_to_record`是PostgreSQL中的函数,用于将JSON数据转换为RECORD类型,便于查询和分析。基本用法是传入JSON数据,如`SELECT json_to_record('{"name": "张三", "age": 30}'::json);`。还可结合FUNCTION创建自定义函数,实现复杂功能。在实际应用中,它简化了对JSON格式数据的处理,例如筛选年龄大于30的用户。了解并善用此函数能提升数据库操作效率。本文由木头左分享,期待你的点赞和收藏,下次见!
PostgreSQL中json_to_record函数的神秘面纱
|
4月前
|
SQL XML JSON
Hive函数全解——思维导图 + 七种函数类型
Hive函数全解——思维导图 + 七种函数类型
81 2
Hive函数全解——思维导图 + 七种函数类型
|
4月前
|
SQL 分布式计算 HIVE
Hive Cli / HiveServer2 中使用 dayofweek 函数引发的BUG!
在Hive 3.1.2和Spark 3.0.2集群环境中,遇到`dayofweek`函数bug。当`create_date`为字符串类型时,`dayofweek`函数结果错位。修复方法是将`create_date`转换为`date`类型。在Spark SQL中,原始代码能正常运行,未出现此问题。因此建议在Hive中使用转换后的日期类型以避免错误。
|
4月前
|
SQL HIVE
【Hive SQL】字符串操作函数你真的会用吗?
本文介绍了SQL中判断字符串是否包含子串的几种方法。`IN`函数判断元素是否完全等于给定元素组中的某项,而非包含关系。`INSTR`和`LOCATE`函数返回子串在字符串中首次出现的位置,用于检测是否存在子串。`SUBSTR`则用于提取字符串的子串。`LIKE`用于模糊匹配,常与通配符配合使用。注意`IN`并非用于判断子串包含。