hive中get_json_object函数

这篇具有很好参考价值的文章主要介绍了hive中get_json_object函数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

原数据,表名:explode_test,列名:sale_info。

hive中get_json_object函数

 [{"source":"7fresh","monthSales":4900,"userCount":1900,"score":"9.9"},{"source":"jdmart","monthSales":7900,"userCount":2900,"score":"5.9"},{"source":"yam","monthSales":54900,"userCount":12900,"score":"4.9"}]


[{"source":"7fresh","monthSales":4900,"userCount":1900,"score":"9.9"},{"source":"jdmart","monthSales":7900,"userCount":2900,"score":"5.9"},{"source":"yam","monthSales":54900,"userCount":12900,"score":"4.9"}]

1、get_json_object(<列名>,'$[]'),提取第几个数据

hive中get_json_object函数

 

2、提取字典中key的值

hive中get_json_object函数

 select 
 get_json_object(get_json_object(sale_info, '$[0]'), '$.source') as source,
 get_json_object(get_json_object(sale_info, '$[0]'), '$.monthSales') as monthSales,
 get_json_object(get_json_object(sale_info, '$[0]'), '$.userCount') as userCount,
 get_json_object(get_json_object(sale_info, '$[0]'), '$.score') as score
 from explode_test;

3、提取所有key值

hive中get_json_object函数 先用正则变换成字典形式

hive中get_json_object函数 

 select
 get_json_object(a.col, '$.source') as source,
 get_json_object(a.col, '$.monthSales') as monthSales,
 get_json_object(a.col, '$.userCount') as userCount,
 get_json_object(a.col, '$.score') as score
 from
 (select 
 explode(split(regexp_replace(regexp_replace(sale_info, '\\[|\\]', ''), '\\}\\,\\{', '\\}\\;\\{'), '\\;')) as col
 from explode_test)a;文章来源地址https://www.toymoban.com/news/detail-406361.html

到了这里,关于hive中get_json_object函数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • flink1.17 实现 udf scalarFunctoin get_json_object 支持 非标准化json

    相比官方的json_value,该函数支持非标准化json,比如v是个object,但是非标准json会外套一层引号,内部有反引号. eg:  {\\\"kkkk2\\\":  \\\"{\\\"kkkk1\\\":\\\"vvvvvvv\\\"}\\\" } 支持value为 100L 这种java格式的bigint.    {\\\"k\\\":999L} 基于jsonPath 方便,可以获取多层级内部值

    2024年02月11日
    浏览(28)
  • MySQL实现数据炸裂拆分(类似Hive的explode函数的拆分数组功能)

    背景描述 ​ 在Hive中,\\\"explode\\\"函数用于将数组类型的列拆分为多行,以便对数组中的每个元素进行处理。然而,在MySQL中,并没有直接的类似功能。但是,我们可以使用一些技巧来模拟这个功能,实现在MySQL中拆分数组并进行查询的操作。本文将介绍如何在MySQL中实现类似Hiv

    2024年02月11日
    浏览(32)
  • Hive SQL 中ARRAY或MAP类型数据处理:lateral view explode()/posexplode()——行转列函数

    前言:在对表数据进行批量处理过程中,常常碰上某个字段是一个array或者map形式的字段,一列数据的该字段信息同时存在多个值,当我们需要取出该数组中的每一个值实现一一对应关系的时候,可以考虑使用lateral view explode()/posexplode() 进行处理。 一、提要:explode()本身是

    2024年02月04日
    浏览(37)
  • Hive中的explode函数、posexplode函数与later view函数

      在离线数仓处理通过HQL业务数据时,经常会遇到行转列或者列转行之类的操作,就像concat_ws之类的函数被广泛使用,今天这个也是经常要使用的拓展方法。 2.1 函数语法 2.2 函数说明 explode 函数是UDTF 函数,将hive一列中复杂的array或者map结构拆分成多行。 Explode函数是不允

    2024年04月09日
    浏览(29)
  • Hive SQL——explode拆分函数&多行(列)合并为一行(列)&reflect函数

    cd /data/import/ sudo vi test_explode_map_array.txt 添加以下文件内容 小明    产品1,产品2,产品3    性别:男,年龄:24 小花    产品4,产品5,产品6    性别:女,年龄:22  map_key map_value 年龄 24 性别 男 年龄 22 性别 女 prod_arr_new 产品1 产品2 产品3 产品4 产品5 产品6 name prod_arr_new 小明 产品1

    2024年02月15日
    浏览(42)
  • Hive 中的爆炸函数( lateral view 与 explode 用法)

    explode就是将hive一行中复杂的array或者map结构拆分成多行。 lateral view用于和split, explode等函数一起使用,它能够将一行数据拆成多行数据,在此基础上可以对拆分后的数据进行聚合。lateral view首先为原始表的每行调用UDTF,UDTF会把一行拆分成一或者多行,lateral view再把结果组合

    2024年02月12日
    浏览(37)
  • 【hive】行转列—explode()/posexplode()/lateral view 函数使用场景

    功能: 用于和UDTF函数(explode,split)结合使用,把某一行数据拆分成多行数据,再将多行结果组合成一个支持别名的虚拟表。 主要解决select使用UDTF做查询的过程中查询只能包含单个UDTF,不能包含其它字段以及多个UDTF的情况。 语法:LATERAL VIEW udtf(expression) tableAlias AS columnAlia

    2024年04月09日
    浏览(30)
  • 大数据Hive篇:explode 和 posexplode

    一. explode单独使用。 1.1. 用于array类型的数据 table_name 表名 array_col 为数组类型的字段 new_col array_col被explode之后对应的列 1.2. 用于map类型的数据 由于map是kay-value结构的,所以它在转换的时候会转换成两列,一列是kay转换而成的,一列是value转换而成的。 table_name 表名 map_col 为

    2024年02月13日
    浏览(27)
  • 深入了解MySQL中的JSON_ARRAYAGG和JSON_OBJECT函数

    在MySQL数据库中,JSON格式的数据处理已经变得越来越常见。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它可以用来存储和表示结构化的数据。MySQL提供了一些功能强大的JSON函数,其中两个关键的函数是JSON_ARRAYAGG和JSON_OBJECT。本文将深入探讨这两个函数的用途、

    2024年02月09日
    浏览(30)
  • Hive Lateral View + explode 详解

    hive中的函数分为3类,UDF函数、UDAF函数、UDTF函数 UDF:一进一出 UDAF:聚集函数,多进一出,类似于:count/max/min UDTF:一进多出,如explore()、posexplode(),UDTF函数的时候只允许一个字段 百度explode()时,经常会出现lateral view + explode相关的文章,很少单独写explode()。 分别 了解 ecplode() 与

    2023年04月11日
    浏览(26)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包