2023.11.16 hivesql高阶函数之json

目录

1.数据准备

2.操作

-- 方式1: 逐个(字段)处理, get_json_object UDF函数 最大弊端是一次只能解析提取一个字段

-- 方式2: 逐条处理. json_tuple 这是一个UDTF函数 可以一次解析提取多个字段

  -- 方式3: 在建表时候, 直接处理json, row format SerDe '能处理Json的SerDe类'


1.数据准备

-- 演示json解析
-- 需求: 把json解析后的数据保存成一个新表
--创建表
create table tb_json_test1 (
    json string
);

--加载数据
load data  inpath '/input/device.json' into table tb_json_test1;
-- 查看数据
select * from tb_json_test1;

结果:数据都是在一个集合里 ,无法直接用分隔符提取

2.操作

-- 方式1: 逐个(字段)处理, get_json_object UDF函数 最大弊端是一次只能解析提取一个字段

-- get_json_object UDF函数 最大弊端是一次只能解析提取一个字段

create table device1 as
select
    --获取设备名称
    get_json_object(json,"$.device") as device,
    --获取设备类型
    get_json_object(json,"$.deviceType") as deviceType,
    --获取设备信号强度
    get_json_object(json,"$.signal") as signal,
    --获取时间
    get_json_object(json,"$.time") as stime
from tb_json_test1;

-- 方式2: 逐条处理. json_tuple 这是一个UDTF函数 可以一次解析提取多个字段


--json_tuple 这是一个UDTF函数 可以一次解析提取多个字段
--单独使用 解析所有字段


create table device2 as
    select
        json_tuple(json,'device','deviceType','signal','time')
            as (device,deviceType,signal,stime)
from tb_json_test1;

select * from device2;
--给字段起别名的时候,如果起了time会报黄,time是一个保留关键字,应该加引号
-- 'time' is a reserved keyword and should be quoted,

数据已被抽取出来

 

  -- 方式3: 在建表时候, 直接处理json, row format SerDe '能处理Json的SerDe类'


--建表的时候直接使用JsonSerDe解析


create table tb_json_test2 (
                               device string,
                               deviceType string,
                               signal double,
                               `time` string  --关键字要加反引号
)ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe' STORED AS TEXTFILE;
-- 加载数据
load data  inpath '/input/device.json' into table tb_json_test2;
-- 查看
select * from tb_json_test2;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/153245.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

申请国外博士后如何写好推荐信

在国外博士后申请过程中,推荐信是至关重要的一环。一封优秀的推荐信不仅能够突显申请者的学术实力和专业背景,更能够展示其在研究领域的潜力和个人素质。以下是知识人网小编整理的一些写好推荐信的建议,希望对申请者有所帮助。 1.选择合适的推…

gd32 USB HOST 接口

接口 CPU引脚 复用 DM PB14 USBHS_DM AF12 DP PB15 USBHS_DP AF12

提高APP安全性的必备加固手段——深度解析代码混淆技术

​ APP 加固方式 iOSAPP 加固是优化 APK 安全性的一种方法,常见的加固方式有混淆代码、加壳、数据加密、动态加载等。下面介绍一下 iOSAPP 加固的具体实现方式。 混淆代码: 使用 ProGuard 工具可以对代码进行混淆,使得反编译出来的代码很难…

【机器学习9】前馈神经网络

深度前馈网络是一类网络模型的统称,主要包括多层感知机、 自编码器、限制玻尔兹曼机, 以及卷积神经网络等。 1 激活函数 激活函数及对应导函数图其它Sigmoid 导数 在z很大或很小时都会趋近于0, 造成梯度消失的现象Tanh 其导数在z很大或很小…

德迅云安全和您聊聊关于DDOS高防ip的一些方面

德迅DDoS防护服务是以省骨干网的DDoS防护网络为基础,结合德迅自研的DDoS攻击检测和智能防护体系,向您提供可管理的DDoS防护服务,自动快速的缓解网络攻击对业务造成的延迟增加,访问受限,业务中断等影响,从而…

智能运维监控告警6大优势

随着云计算和互联网的高速发展,大量应用需要横跨不同网络终端,并广泛接入第三方服务(如支付、登录、导航等),IT系统架构越来越复杂。 快速迭代的产品需求和良好的用户体验,需要IT运维管理者时刻保障核心业务稳定可用,…

.NET开源全面方便的第三方登录组件集合 - MrHuo.OAuth

前言 我相信做开发的同学应该都对接过各种各样的第三方平台的登录授权,来获取用户信息(如:微信登录、支付宝登录、QQ登录、GitHub登录等等)。今天给大家推荐一个.NET开源好用的、全面的、方便第三方登录组件集合框架:M…

新版软考高项试题分析精选(四)

请点击↑关注、收藏,本博客免费为你获取精彩知识分享!有惊喜哟!! 1、一般而言,大型软件系统中实现数据压缩功能,工作在OSI参考模型的( )。 A.应用层 B.表示层 C.会话层 D.网络层…

Java 集合框架,泛型,包装类

文章目录 集合框架泛型Java 中的泛型裸类型&#xff08;了解&#xff09;原理泛型的上界泛型方法通配符 包装类ArrayList构造常见操作 LinkedListStackQueuePriorityQueueMapMap.Entry<K, V>Map 常用方法 Set常用方法 集合框架 Vector 一个古老的集合类&#xff0c;实现了…

±15kV ESD 保护、3V-5.5V 供电、真 RS-232 收发器MS2232/MS2232T

产品简述 MS2232/MS2232T 芯片是集成电荷泵&#xff0c;具有 15kV ESD 保护的 RS-232 收发器&#xff0c;包括两路接收器、两路发送器。 芯片满足 TIA/EIA-232 标准&#xff0c;为异步通信控制器和串口连 接器提供通信接口。 芯片采用 3V-5.5V 供电&#xff0c;电荷泵仅用…

快速生成力扣链表题的链表,实现快速调试

关于力扣链表题需要本地调试创建链表的情况 我们在练习链表题&#xff0c;力扣官方需要会员&#xff0c;我们又不想开会员&#xff0c;想在本地调试给你们提供的代码 声明&#xff1a;本人也是参考的别人的代码&#xff0c;给你们提供不同语言生成链表 参考链接&#xff1a; 参…

最终方案(乱)

为什么要在mos管上并一个快恢复二极管 因为电机成感性&#xff0c;为了在关断期间给它提供一个续流回路

Linux 爱好者线下沙龙:成都场圆满结束 下一场西子湖畔相见 | LLUG·第五站

导读&#xff1a;第四站 LLUG成都场已于10 月 29 日在武侯区菁蓉汇成功举办。LLUG 第五站将于11 月 25 日走进美丽的西子湖畔&#xff0c;在这个冬日&#xff0c;LLUG 与你在杭州线下相见。 10 月 29 日&#xff0c;LLUG 成都场成功在武侯区菁蓉汇举办。 LLUG成都站由 Linux 中…

Redhat8.3上部署Lustre文件系统

Lustre文件系统 Lustre架构是用于集群的存储架构。Lustre架构的核心组件是Lustre文件系统&#xff0c;它在Linux操作系统上得到支持&#xff0c;并提供了一个符合POSIX *标准的UNIX文件系统接口。 Lustre存储架构用于许多不同类型的集群。它以支持世界上许多最大的拥有数万个…

2023数维杯国际赛数学建模竞赛选题建议及D题思路讲解

大家好呀&#xff0c;2023年第九届数维杯国际大学生数学建模挑战赛今天早上开赛啦&#xff0c;在这里先带来初步的选题建议及思路。 目前团队正在写B题和D题完整论文&#xff0c;后续还会持续更新哈&#xff0c;大家三连关注一下防止迷路。 注意&#xff0c;本文只是比较简略…

clip4clip:an empirical study of clip for end to end video clip retrieval

广告深度学习计算&#xff1a;阿里妈妈智能创意服务优化使用CPU/GPU分离的多进程架构&#xff0c;加速阿里妈妈智能创意服务。https://mp.weixin.qq.com/s/_pjhXrUZVzFRtiwG2LhnkwCLIP4Clip: CLIP 再下一城&#xff0c;利用CLIP实现视频检索 - 知乎前言&#xff1a; OpenAI 的论…

ubuntu 20.04安装 Anaconda教程

在安装Anaconda之前需要先安装ros(防止跟conda冲突&#xff0c;先装ros)。提前安装好cuda 和cudnn。 本博客参考&#xff1a;ubuntu20.04配置ros noetic和cuda&#xff0c;cudnn&#xff0c;anaconda&#xff0c;pytorch深度学习的环境 安装完conda后&#xff0c;输入: pyth…

CCRC认证是什么?

什么是CCRC认证&#xff1f; 信息安全服务资质&#xff0c;是信息安全服务机构提供安全服务的一种资格&#xff0c;包括法律地位、资源状况、管理水平、技术能力等方面的要求。 信息安全服务资质&#xff08;CCRC&#xff09;是依据国家法律法规、国家标准、行业标准和技术规范…

快手怎么涨粉最快?10个实用方法让你迅速积累粉丝

先来看实操成果&#xff0c;↑↑需要的同学可看我名字↖↖↖↖↖&#xff0c;或评论888无偿分享 各位知友们&#xff0c;大家好&#xff01;今天我来分享一些在快手涨粉的实用方法&#xff0c;让你迅速积累粉丝。如果你还没有注册快手账号&#xff0c;那么现在就赶紧去下载注册…

基于51单片机步进电机加减速正反转数码管显示( proteus仿真+程序+原理图+设计报告+讲解视频)

基于51单片机步进电机加减速正反转数码管显示( proteus仿真程序原理图设计报告讲解视频&#xff09; &#x1f4d1;1.主要功能&#xff1a;&#x1f4d1;讲解视频&#xff1a;&#x1f4d1;2.仿真&#x1f4d1;3. 程序代码&#x1f4d1;4. 设计报告&#x1f4d1;5. 设计资料内容…