hive sql 解析json
在hive中会有很多数据是用json格式来存储的,而我们用数据的时候又必须要将json格式的数据解析成为正常的数据,今天我们就来聊聊hive中是如何解析json数据的。
下面这张表就是json格式的表,我们以这张表为例来解析json
select * from ff_sa.sa06_ff_b1_session_olg where etl_tx_dt = 20190617
查询结果:

取字段:(重点来了!!!)
1.取单个json字段:
get_json_object(STRING json_string, STRING path)
select get_json_object(key,'$.uuid') from ff_sa.sa06_ff_b1_session_olg where etl_tx_dt =20190617
结果:

注意:如果字段名称错误,不会报错,但结果会是null
select get_json_object(key,'$.uuid1') from ff_sa.sa06_ff_b1_session_olg where etl_tx_dt =20190617

2.同时取多个字段
select get_json_object(key,'$.uuid'),get_json_object(key,'$.appName') from ff_sa.sa06_ff_b1_session_olg where etl_tx_dt =20190617
结果:

是不是觉得这种取多个字段的方法比较low,来看取多个字段的另一种方法:
json_tuple(STRING jsonStr, STRING k1, STRING k2)
select json_tuple(key,'uuid','appName') from ff_sa.sa06_ff_b1_session_olg where etl_tx_dt =20190617
结果:

注意:这里已经没有$.了,再来看下如果不去掉的结果:
select json_tuple(key,'$.uuid','$.appName') from ff_sa.sa06_ff_b1_session_olg where etl_tx_dt =20190617
结果:

hive sql 解析json的更多相关文章
- hive中解析json数组
-- hive中解析json数组 select t1.status ,substr(ss.col,,) as col ,t3.evcId ,t3.evcLicense ,t3.evcAddress , ...
- 如何在 Apache Hive 中解析 Json 数组
我们都知道,Hive 内部提供了大量的内置函数用于处理各种类型的需求,参见官方文档:Hive Operators and User-Defined Functions (UDFs).我们从这些内置的 ...
- 再次提供一个纯粹通过pl/sql解析json的方法。
在github上面有一个叫pljson的项目,该项目就是用pl/sql 来解析json的. 项目地址:pljson(需翻|强),如果翻不了强的同学,我在国内克隆了一个副本,不定期同步更新 pljson ...
- 【hive】解析json格式字符串
(1)解析json中的单个属性 get_json_object(json_str,’$.xxx’/‘$[xxx]’) get_json_object函数第一个参数填写json对象变量(string) ...
- 【原创】大数据基础之Hive(2)Hive SQL执行过程之SQL解析过程
Hive SQL解析过程 SQL->AST(Abstract Syntax Tree)->Task(MapRedTask,FetchTask)->QueryPlan(Task集合)- ...
- 【原创】大数据基础之Hive(1)Hive SQL执行过程之代码流程
hive 2.1 hive执行sql有两种方式: 执行hive命令,又细分为hive -e,hive -f,hive交互式: 执行beeline命令,beeline会连接远程thrift server ...
- Hive SQL 编译过程
转自:http://www.open-open.com/lib/view/open1400644430159.html Hive跟Impala貌似都是公司或者研究所常用的系统,前者更稳定点,实现方式是 ...
- [Hive]HiveSQL解析原理
Hive是基于Hadoop的一个数据仓库系统,在各大公司都有广泛的应用.美团数据仓库也是基于Hive搭建,每天执行近万次的Hive ETL计算流程,负责每天数百GB的数据存储和分析.Hive的稳定性和 ...
- 【转】Hive SQL的编译过程
Hive是基于Hadoop的一个数据仓库系统,在各大公司都有广泛的应用.美团数据仓库也是基于Hive搭建,每天执行近万次的Hive ETL计算流程,负责每天数百GB的数据存储和分析.Hive的稳定性和 ...
随机推荐
- Java实现 LeetCode 面试题 01.07. 旋转矩阵(按照xy轴转+翻转)
面试题 01.07. 旋转矩阵 给你一幅由 N × N 矩阵表示的图像,其中每个像素的大小为 4 字节.请你设计一种算法,将图像旋转 90 度. 不占用额外内存空间能否做到? 示例 1: 给定 mat ...
- Java实现 LeetCode 566 重塑矩阵(遍历矩阵)
566. 重塑矩阵 在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据. 给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表 ...
- Java实现 蓝桥杯 算法提高 递推求值
算法提高 递推求值 时间限制:1.0s 内存限制:256.0MB 问题描述 已知递推公式: F(n, 1)=F(n-1, 2) + 2F(n-3, 1) + 5, F(n, 2)=F(n-1, 1) ...
- Java实现蓝桥杯模拟约数的个数
问题描述 1200000有多少个约数(只计算正约数). 答案提交 这是一道结果填空的题,你只需要算出结果后提交即可.本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分. pac ...
- Java实现控制台版CS
也可以把这四个类直接复制下去放在一个包下面 父类 package Cs1_6; public abstract class Persion { public abstract void Attack( ...
- Java实现字符串的包含
1 问题描述 给定一长字符串A和一短字符串B.请问,如何最快地判断出短字符串B中的所有字符是否都在长字符串A中?请编写一个判断函数实现此功能. 为简单起见,假设输入的字符串只包含小写英文字母.下面举几 ...
- Php-webdriver 的安装与使用教程
Php-webdriver 是 Facebook 开发的基于 PHP 语言实现的 Selenium WebDriver 客户端组件,可以用它来操作浏览器.常见的操作包括:自动化测试.采集数据等. 安装 ...
- 5分钟速成Markdown
一.认识 Markdown Markdown 是一种用来写作的轻量级「标记语言」,它用简洁的语法代替排版,而不像一般我们用的字处理软件 Word 或 Pages 有大量的排版.字体设置.它使我们专心于 ...
- git-bash用法详解
目录 1. 开启Windows的 sshd 服务 1.1. ssh 高级配置 1.1.1. 生成秘钥 1.1.2. 添加或更改密码 1.1.3. 分发公钥 1.1.4. 允许以root身份ssh连接 ...
- StringBuilder(拼接字符串省内存)
观察如下代码: String s = ""; for (int i = 0; i < 1000; i++) { s = s + "," + i; } 虽然 ...