hive中get_json_object函数

2023-11-16

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

 [{"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(<列名>,'$[]'),提取第几个数据

 

2、提取字典中key的值

 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值

 先用正则变换成字典形式

 

 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;

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

hive中get_json_object函数 的相关文章

随机推荐

  • MySQL的索引和事务

    一 索引 一 索引概念 索引是一种特殊的文件 包含数据库中所有记录的引用 可以对表中的一列或多列创建索引 并指定索引的类型 存储引擎 每种索引在不同的存储引擎中的实现都有可能不同 索引类似数组的下标 通过下标拿到数组中的数据是很快的 同样通
  • 字符串右移n位

    题目 实现字符串右移几位 即 abcd 移两位变 cdab 思路 申请一个与待移位同样大小的数组 用来保存移位后的字符串 通过公式计算出简化的移位数 得到某字符移位后的新位置后 就将其字符值存放到新数组的对应位置 循环第3步 直至检测到字符
  • 【JVM】JVM基础知识:常量池、类加载、JVM内存模型、对象的创建过程

    前言 讲一下大概的内容 类加载 JVM内存模型 对象的创建 垃圾回收 JVM调优 入门 最近抽了时间学了一直都很想学的 JVM 之前也学过一点 也发布过一些零散的文章 但这篇文章会更加全面 学完这篇文章就足以应对有关 JVM 的面试 如果遇
  • java实现高斯赛德尔算法解线性方程组

    package linear equation import java util Scanner 使用高斯赛德尔迭代法求解线性方程组 public class Gauss Seidel Iterate 求下三角 private static
  • nodejs如何添加html文件上传,通过nodejs实现文件的上传

    通过nodejs实现文件的上传 主要内容 本文将用来讲述如何通过nodejs进行文件上传 将会涉及到以下知识点 通过express模块进行服务器的搭建 通过multer模块将上传的文件保存到指定目录 通过fs path模块将文件改名 添加后
  • SGMII协议解析

    什么是SGMII 先说什么是GMII MII MII是ethernet协议里面MAC层和PHY层之间的接口标准 MII是4bits的数据位宽 支持10 100M的数据传输 GMII前面G表示Gigabit 代表支持1000M的传输速率 需要
  • conda环境中安装1秒安装秘籍

    无论是pip或者mim安装指令 只需要加上一个参数就能1秒安装完成 pip install opencv python i https mirror baidu com pypi simple 体验完后 点个赞吧
  • SpringBoot学习(三)——SpringBoot的配置

    一 入口类 通常而言 Spring Boot都会拥有一个名为 Application的入口类 如FirstApplication 而该入口类中会有一个main方法 这个main方法起始就是一个标准的Java应用的入口方法 在main方法中使
  • Clark变换和Park变换在三相系统和单相系统中的应用

    1 引言 Clark变换和Park变换在三相系统中应用广泛 并且在单相系统中也有应用 但是以往的资料都是仅分析单相的坐标变换或者三相的坐标变换 并没有总结三相和单相的联系 本文将以坐标变换矩阵为载体 分析坐标变换在单相和三相系统中的应用 2
  • Linux基础命令-echo输出信息

    文章目录 前言 一 echo命令介绍 二 命令语法及参数 三 参考实例 总结 前言 初学linux都会接触到这个echo命令 因为这个echo的用处实在太大了 不管说日常使用上还是写shell脚本中 都是需要用到的 echo命令可以输出用户
  • 分层+TCP三次+四次+TCP和UDP区别+UDP实现可靠传输

    目录 OSI与TCP IP各层的结构与功能 都有哪些协议 TCP 三次握手 三次握手流程 tcp为什么要三次握手 而不能二次握手 四次挥手 为什么要四次挥手 TCP UDP 协议的区别 TCP 协议如何保证可靠传输 滑动窗口和流量控制 拥塞
  • 【错误记录】psql: FATAL: role [User] does not exist

    错误记录 psql FATAL role User does not exist 这是因为 psql 默认是连接的当前用户名的数据库 字面意思就是当前用户名的数据库不存在 当然 PostgreSQL 默认会创建有三个数据库 postgres
  • ESP32-USB Serial/JTAG Controller使用

    ESP32 USB Serial JTAG Controller使用 概述 CDC ACM功能描述 环境说明 硬件查询方式使用 关键函数说明 示例代码 官方中断方式使用 关键函数说明 包含头文件 安装卸载驱动 收发数据 示例程序 概述 ES
  • SignalR应用场景

    SignalR 是一个用于实时通信和即时通讯的开发库 它可以在多种应用场景中提供实时性能和功能 以下是一些适合使用 SignalR 的应用场景 即时聊天应用程序 SignalR 可以用于构建即时聊天应用程序 包括个人聊天 群组聊天和在线客服
  • 第 8 章 Jenkins – 设置Build Job

    通过下面的练习 在Jenkins创建一个job 并获取一个简单的HelloWorld应用程序 编译并运行这个Java程序 step 1 进入Jenkins控制面板然后点击 NewItem step 2 在这个页面 输入Item name 在
  • 小知识-pycharm的debug如何跳过for循环

    pycharm的debug如何跳过for循环
  • ATLAS 加入服务器未响应,路由器设置出现服务器未响应

    路由器设置出现服务器未响应 内容精选 换一换 两者主要有以下区别 一般操作系统的默认路由优先使用主网卡 如果出现使用扩展网卡导致网络不通现象通常是路由配置问题 默认主网卡具备与云公共服务区 PaaS DNS等服务所在区域 互通能力 扩展网卡
  • Apollo源码安装的问题及解决方法

    问题一 在进行git clone时 会报错Failed to connect to github com port 443 Timed out 经过实践后推荐以下两种方法 方法一 在原地址前加https ghproxy com 原地址 gi
  • 关于在VUE中使用html2canvas+jspdf方案将HTML页面导出为PDF遇到的坑

    首先网上有很多教程 我就简单记录下 主要是记录我遇到的问题 首先 npm install html2canvas jspdf s 然后在main js中引入 引入html转pdf的js import htmlToPdf from asset
  • hive中get_json_object函数

    原数据 表名 explode test 列名 sale info source 7fresh monthSales 4900 userCount 1900 score 9 9 source jdmart monthSales 7900 us