Hive字符串数组json类型取某字段再列转行
一、原始数据
| acct | content |
| 1232313 | [{"name":"张三","code":"上海浦东新区89492jfkdaj\r\n福建的卡"...},{"name":"狂徒","code":"select * from table where aa=1\r\n and a=12"...},{...}] |
| ... | ... |
二、需求
上述数据表名code_content,把json中code内容全都取出来拼接成一行数据,最终效果:
| acct | new_content |
| 1232313 | 上海浦东新区89492jfkdaj\r\n福建的卡\u0001select * from table where aa=1\r\n and a=12 |
| ... | ... |
三、解析思路
四、实现方法
1.sql
select acct,concat_ws('\u0001',collect_list(t.code)) code
from
(
select acct,get_json_object(a_json,'$.code') code
from
(
select acct,
split(regexp_replace(regexp_extract(code,'(^\\[)(.*?)(\\]$)',2),'\\},\\{','\\}|\\{'),'\\|') as t_code
from code_content
where dt=20230823
) a
lateral view explode(t_code) code_content_tab as a_json
) t
group by acct
2.sql解释:
- regexp_extract(code,'(^\\[)(.*?)(\\]$)',2):用正则取出数组里的json
- regexp_replace:替换},{为}|{,方便切割因为,号一般语句里会比较多
- split:切割成数组
- explode:函数中的参数传入的是arrary数据类型的列名,通常,explode函数会与lateral view一起结合使用
- lateral view:Lateral View配合 split, explode 等UDTF函数一起使用,它能够将一列数据拆成多行数据,并且对拆分后结果进行聚合,即将多行结果组合成一个支持别名的虚拟表。
- get_json_object(a_json,'$.code'):获取json字段value
- concat_ws('\u0001',collect_list(t.code)):“列转行”
参考:
Hive SQL中的 lateral view 与 explode(列转行)以及行转列_sql explode_卖山楂啦prss的博客-CSDN博客
hivesql解析json数组并拆分成多行_hive sql怎么对一个数组进行分行_Time Woods的博客-CSDN博客
相关文章:
Hive字符串数组json类型取某字段再列转行
一、原始数据 acctcontent1232313[{"name":"张三","code":"上海浦东新区89492jfkdaj\r\n福建的卡"...},{"name":"狂徒","code":"select * from table where aa1\r\n and a12"...},{...}]...…...
ElementUI Table 翻页缓存数据
Element UI Table 翻页保存之前的数据,网上找了一些,大部分都是用**:row-key** 和 reserve-selection,但是我觉得有bug,我明明翻页了…但是全选的的个框还是勾着的(可能是使用方法不对,要是有好使的…请cute我一下…感谢) 所以自己写了一个… 思路: 手动勾选的时候,将数据保存…...
使用 AutoGPTQ 和 transformers 让大语言模型更轻量化
大语言模型在理解和生成人类水平的文字方面所展现出的非凡能力,正在许多领域带来应用上的革新。然而,在消费级硬件上训练和部署大语言模型的需求也变得越来越难以满足。 🤗 Hugging Face 的核心使命是 让优秀的机器学习普惠化 ,而…...
AUTOSAR规范与ECU软件开发(实践篇)6.5 BswM模块概念与配置方法介绍
目录 1、BswM模块概念与配置方法介绍 (1) BswMModeRequestPort配置 (2) ModeCondition与LogicalExpression配置...
1.1 VMware Workstation与Kali的安装和配置1
资源见专栏第一篇文章https://blog.csdn.net/algorithmyyds/article/details/132457258 安装VMware 不多加赘述,直接按顺序安装即可。 有以下需注意的地方: 1.建议选择增强型服务; 2.不要加入体验改进计划。是否开启提示更新看你的想法&…...
DDR与PCIe:高性能SoC的双引擎
SoC芯片无处不在,小到家电控制的MCU,大到手机芯片,我们都会接触到。如今大部分芯片设计公司都在开发SoC芯片,一颗SoC芯片可以集成越来越多的功能,俨然它已成为IC设计业界的焦点。 高性能、高速、高带宽的互联和存储的…...
C#_特性反射详解
特性是什么? 为程序元素额外添加声明信息的一种方式。 字面理解:相当于把额外信息写在干胶标签上,然后将其贴在程序集上。 反射是什么? 反射是一种能力,运行时获取程序集中的元数据。 字面理解:程序运行…...
【跟小嘉学 Rust 编程】十三、函数式语言特性:迭代器和闭包
系列文章目录 【跟小嘉学 Rust 编程】一、Rust 编程基础 【跟小嘉学 Rust 编程】二、Rust 包管理工具使用 【跟小嘉学 Rust 编程】三、Rust 的基本程序概念 【跟小嘉学 Rust 编程】四、理解 Rust 的所有权概念 【跟小嘉学 Rust 编程】五、使用结构体关联结构化数据 【跟小嘉学…...
时间复杂度和空间复杂度
全文目录 算法的复杂度时间复杂度大O渐进表示法空间复杂度常见算法复杂度对比 算法的复杂度 算法在编写成可执行程序后,运行时需要耗费时间资源和空间(内存)资源 。因此衡量一个算法的好坏,一般是从时间和空间两个维度来衡量的,即时间复杂度…...
mac docker 卡住解决
文章目录 1、问题简述2、重新安装docker3、docker守护进程4、问题解决方案 1、问题简述 在docker desktop上更改了daemon.json的文件内容,应该是参数写的有问题,修改完配置再启动docker desktop就失败了,然后想着卸载docker desktop…...
linux/centos zookeeper 使用记录
配置cfg 下载zookeeper-3.4.14.tar.gz负责到centos服务器解压 /xxx/zookeeper-3.4.14/conf/下创建zoo.cfg文件并配置以下属性,/bsoft/zookeeperdata/目录先预先创建 tickTime2000 initLimit10 syncLimit5 dataDir/bsoft/zookeeperdata/ clientPort2181zk启动/重启/关…...
用wireshark流量分析的四个案例
目录 第一题 1 2 3 4 第二题 1 2 3. 第三题 1 2 第四题 1 2 3 第一题 题目: 1.黑客攻击的第一个受害主机的网卡IP地址 2.黑客对URL的哪一个参数实施了SQL注入 3.第一个受害主机网站数据库的表前缀(加上下划线例如abc) 4.…...
Oracle 时区详解
1 简介 由于地球经纬度及地球自转引起的经度方向,不同的经度的地方,所感受到的昼夜是不同 的。有关国际会议决定将地球表面按经线从东到西,每隔经度15度划分一个时区,并且规定 相邻区域的时间相差1小时。 这就是时区的由来。 而实际使用中,…...
仿mudou高性能高并发服务器
"这个结局是我的期待,我会一直为你祝福。" 项目实现目标: 仿muduo库One Thread One Loop式主从Reacto模型实现高并发服务器。通过实现高并发服务器组件,简洁快速完成搭建一个高性能服务器。并且,通过组件内提供的不同应⽤层协议⽀…...
vue权限管理——菜单权限设置
1.前提:后端提供菜单对应数据 此处用mockjs模拟 const menuList [{id: 1, path:/uploadSpec,authName: "上传spec", icon: User, children:[], rights:[view,add,edit,delete]},{id: 2, path:/showSpec, authName: "Spec预览", icon: DataAn…...
【LeetCode】228.汇总区间
题目 给定一个 无重复元素 的 有序 整数数组 nums 。 返回 恰好覆盖数组中所有数字 的 最小有序 区间范围列表 。也就是说,nums 的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于 nums 的数字 x 。 列表中的每个区间范围 [a,b]…...
Qt快速学习(二)--QMainWindow,对话框,布局管理器,常用控件
目录 1 QMainWindow 1.1 菜单栏 1.2 工具栏 1.3 状态栏 1.4 铆接部件 1.5 核心部件(中心部件) 1.6 资源文件 2 对话框QDialog 2.1 基本概念 2.2 标准对话框 2.3 自定义消息框 2.4 消息对话框 2.5 标准文件对话框 3 布局管理器 3.1 系统…...
群晖DSM下套件及系统网页服务器ssl证书自动更新
关键字: DSM ssl 证书 起因 群晖下自建服务(alist3)和系统服务在外部网络访问需要加ssl安全证书来实现基础的传输保护。 申请证书和续期手动操作都还好,不算太麻烦,但是每个应用单独证书需要复制和重启,再配合服务重启一套下来就…...
【Flink】Flink架构及组件
我们学习大数据知识的时候,需要知道大数据组件如何安装以及架构组件,这将帮助我们更好的了解大数据组件 对于大数据Flink,架构图图下: 整个架构图有三种关键组件 1、Client:负责作业的提交。调用程序的 main 方法&am…...
React Navigation 开发准备
需要 React Native 使用 React Navigation 的话,我们需要首先安装如下几个包: npm install react-navigation/native npm install react-native-screens react-native-safe-area-context开发之前做一些处理 如果您使用的是 Mac 并针对 iOS 进行开发&am…...
机器人任务级迭代学习控制技术解析与应用
1. 任务级迭代学习控制技术解析在机器人操控领域,可变形物体的动态控制一直是个棘手难题。想象一下让机器人系鞋带或者叠衣服的场景——这些对人类来说轻而易举的动作,对机器人而言却需要处理近乎无限的自由度变化。传统方法通常需要精确的物理建模或海量…...
如何高效管理动物森友会存档:NHSE完整使用指南
如何高效管理动物森友会存档:NHSE完整使用指南 【免费下载链接】NHSE Animal Crossing: New Horizons save editor 项目地址: https://gitcode.com/gh_mirrors/nh/NHSE NHSE(Animal Crossing: New Horizons Save Editor)是一款专为《动…...
Rust 语言特性:impl 与 方法
在其他语言里,我们通常不会特别区分“函数”和“方法”两个术语,特别是在 Java 这类纯面向对象编程语言里。因为“函数”和“方法”是一回事。在 C 里,情形稍有不同,因为它是面向对象和面向过程的多范式语言,即有独立存…...
英特尔N150处理器深度解析:从N100升级看嵌入式一体机效能进化
1. 从N100到N150:一次务实且精准的效能升级在嵌入式与一体机领域,选择一颗合适的处理器,往往意味着在性能、功耗、成本和扩展性之间找到那个微妙的平衡点。过去几年,英特尔的N100处理器凭借其出色的能效比,成为了众多办…...
从VLP-16到国产激光雷达:拆解看机械旋转式LiDAR的技术传承与差异
从VLP-16到国产激光雷达:机械旋转式LiDAR的技术传承与创新 在自动驾驶技术快速发展的浪潮中,激光雷达(LiDAR)作为环境感知的核心传感器,其技术演进一直备受关注。VLP-16作为机械旋转式LiDAR的经典产品,不仅…...
电子供应链服务转型:从元器件分销到技术赋能与韧性构建
1. 项目概述:从“卖货”到“赋能”的供应链服务转型在电子元器件分销这个看似传统的行业里,我从业十几年,亲眼见证了从“电话传真报价”到“线上实时库存”的变迁。最近和一位行业老友,也是某知名分销商的资深销售总监聊天&#x…...
用Python手把手复现NRBO优化算法:从数学公式到完整代码的保姆级教程
用Python手把手复现NRBO优化算法:从数学公式到完整代码的保姆级教程 优化算法在工程和科学计算中扮演着关键角色,而牛顿-拉弗森优化算法(NRBO)作为最新提出的智能优化方法,凭借其高效的收敛性能引起了广泛关注。本文将彻底拆解NRBO的核心机制…...
从能算到秒杀:零钱兑换与「最少硬币」的数学真相
如果说 279. 完全平方数 是在考你:👉 最少用几个平方数拼出一个数那 322. 零钱兑换 就是它的「现实版」:👉 最少用几枚硬币凑出一个金额这也是我第一次真正明白一句话:所有「最少数量」的问题,本质都是…...
H3CSE 高性能园区网:生成树保护机制
H3CSE 高性能园区网:生成树保护机制一、生成树保护机制1. BPDU保护1.1 边缘端口特点及问题端口基础特性存在的安全隐患1.2 BPDU保护机制核心防护逻辑机制运行优势1.3 BPDU保护配置配置使用规范H3C设备配置命令2. 根桥保护2.1 根桥保护机制2.2 根桥保护配置要求2.3 根…...
[特殊字符]通用漏洞挖掘(黑盒篇)| 从一个登录框SQL注入,到拿下CNVD证书
🎯 0x00 这篇文章能给你什么? 黑盒测试中 如何发现 SQL 注入(手工 思路) 万能密码 ≠ 全部,但有了它一定有问题 如何从“事件型漏洞”升级为“通用型漏洞” 利用 JS 指纹 在 FOFA 上批量找同款系统 CNVD 证书 的获…...
