在hive中对于json的数据格式,可以使用get_json_object或json_tuple先解析然后查询。

也可以直接在hive中创建json格式的表结构,这样就可以直接查询,实战如下(hive-2.3.0版本):

1. 准备数据源

将以下内容保存为test.txt

{"student":{"name":"king","age":11,"sex":"M"},"class":{"book":"语文","level":2,"score":80},"teacher":{"name":"t1","class":"语文"}}

{"student":{"name":"wang","age":12,"sex":"M"},"class":{"book":"语文","level":2,"score":80},"teacher":{"name":"t1","class":"语文"}}

{"student":{"name":"test","age":13,"sex":"M"},"class":{"book":"语文","level":2,"score":80},"teacher":{"name":"t1","class":"语文"}}

{"student":{"name":"test2","age":14,"sex":"M"},"class":{"book":"语文","level":2,"score":80},"teacher":{"name":"t1","class":"语文"}}

{"student":{"name":"test3","age":15,"sex":"M"},"class":{"book":"语文","level":2,"score":80},"teacher":{"name":"t1","class":"语文"}}

{"student":{"name":"test4","age":16,"sex":"M"},"class":{"book":"语文","level":2,"score":80},"teacher":{"name":"t1","class":"语文"}}

2. 创建hive表

注意serde格式大小写不能写错: org.apache.hive.hcatalog.data.JsonSerDe

create external table if not exists dw_stg.student(

student map comment "学生信息",

class map comment "课程信息",

teacher map comment "授课老师信息"

)

comment "学生课程信息"

row format serde'org.apache.hive.hcatalog.data.JsonSerDe'

stored as textfile;

3. 上传数据

将test.txt上传到刚才创建的student目录

hdfs dfs -put test.txt /user/hive/warehouse/dw_stg.db/student/

4. 使用hql查询

查询所有信息记录:

查询字段student信息

查询字段class信息

查询学生姓名为test4的所有记录

取json串中某个值可以使用 student['name'] ,如下:

select

student['name'] as stuName,

class['book'] as cls_book,

class['score'] as cls_score,

teacher['name'] as tech_name

from student

where student['name'] = 'test4';

总体看起来,比使用get_json_object或json_tuple解析方便多了。

mysql中,创建包含json数据类型的表?创建json表时候的注意事项?查询json字段中某个key的值?

需求描述: 在mysql数据库中,创建包含json数据类型的表.记录下,在创建的过程中,需要注意的问题. 操作过程: 1.通过以下的语句,创建包含json数据类型的表 mysql> create ...

jmeter随笔(1)-在csv中数据为json格式的数据不完整

昨天同事在使用jmeter遇到问题,在csv中数据为json格式的数据,在jmeter中无法完整的取值,小怪我看了下,给出解决办法,其实很简单,我们一起看看,看完了记得分享给你的朋友. 问题现象: 1 ...

2020-08-08:有一批气象观测站,现需要获取这些站点的观测数据,并存储到 Hive 中。但是气象局只提供了 api 查询,每次只能查询单个观测点。那么如果能够方便快速地获取到所有的观测点的数据?

福哥答案2020-08-08: 参考答案:A.通过shell 或python 等调用api,结果先暂存本地,最后将本地文件上传到 Hive 中.B.通过 datax 的 httpReader 和 hd ...

Ajax中XML和JSON格式的优劣比较

刚做完一个小的使用Ajax的项目.整个小项目使用JavaScript做客户端,使用PHP做服务器端.利用xmlHttpRequest组件作为交互工具,利用XML作为数据传输的格式.做完后基本做一个简单 ...

MVC4中视图获取控制器中返回的json格式数据

再开发MVC项目时,有时只需要从控制器中返回一个处理的结果,这时返回Json格式的数据非常的方便,在Controller中,提供了几种返回类型和方法,如: Content() 返回文本类型的Conte ...

Spring Boot入门系列(十七)整合Mybatis,创建自定义mapper 实现多表关联查询!

之前讲了Springboot整合Mybatis,介绍了如何自动生成pojo实体类.mapper类和对应的mapper.xml 文件,并实现最基本的增删改查功能.mybatis 插件自动生成的mappe ...

Mysql里查询字段为Json格式的数据模糊查询以及分页方法

public void datagrid(CustomFormEntity customForm,HttpServletRequest request, HttpServletResponse res ...

hive中创建子表并插入数据过程初始化MR报错解决方法

本文继成上一篇通过hive分析nginx日志文章,详情参考下面链接: http://www.cnblogs.com/wcwen1990/p/7066230.html 接着来: 创建业务子表: drop ...

hive中创建表失败

使用create table命令创建表失败,如下错误信息: hive> create table test(id int,name string,age int,sex string); FAI ...

随机推荐

sprig里的controller之间的跳转的问题

学习spring的controller,发现controller之间的跳转有些地方搞的不是很清楚,如果通过controller的return语句实现跳转的话,会造成request的丢失:具体怎么回事首 ...

HTML 学习笔记 CSS3 (2D Matrix)

Matrix 矩阵 那么什么是矩阵呢? 矩阵可以理解为方阵,只不过 平时方阵里面站着人 矩阵中是数值: CSS3中的矩阵: css3中的矩阵指的是一个方法,书写为matrix() 和 matrix3d ...

HDU 1054 Strategic Game(树形DP)

Strategic Game Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

接口list

List接口介绍 java.util.List 接口继承自 Collection 接口,是单列集合的一个重要分支,习惯性地会将实现了 List 接口的对象称为List集合. List接口特点: 它是一 ...

Java中final关键字概述

使用final修饰过的变量都不可以改变: 1.final修饰变量 恒定不变的属性,可以用final关键字来修饰: 变量名建议全部使用大写 final修饰的变量不能改变,如果程序中重新赋值,编译报错 例 ...

反编译工具 jad

JAD(Java Decompiler)是一个比较流行的Java反编译工具,可以从网站 http://www.varaneckas.com/jad/ 下载,有多个系统下的应用程序,包括Windows. ...

170721、springboot编程之注解(annotation)列表

(1)@SpringBootApplication 申明让spring boot自动给程序进行必要的配置,这个配置等同于: @Configuration ,@EnableAutoConfigurati ...

springMVC介绍及配置

Spring MVC的Controller用于处理用户的请求.Controller相当于Struts 1里的Action,他们的实现机制.运行原理都类似. Controller是个接口,一般直接继承A ...

hive 导出json格式 文件_hive中创建hive-json格式的表及查询相关推荐

  1. hive读取hdfs存放文件_Hive基本概念

    1.1 Hive简介 1.1.1 什么是Hive Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能. 1.1.2 为什么使用Hive 直接 ...

  2. 如何在文件夹中创建nodeJs项目

    打开所在要创建的项目文件夹 首先在你的电脑上必须要装有node.js,否则一切都是空谈. 在项目文件夹中创建package.json npm init 有了package.json文件,直接使用npm ...

  3. python怎么创建文件夹_如何使用python在文件夹中创建文本文件?

    我试图在一个不是运行脚本的目录的文件夹中创建一个.txt文件.我有一个脚本所在的文件夹,我可以在脚本所在的同一个目录中创建该文件夹,但它不会在该文件夹中创建文本文件.我通常遇到两个错误中的一个:Per ...

  4. [OpenCV] 练习题实现代码 使用 cv.addWeighted 函数在文件夹中创建图像的幻灯片放映,并在图像之间进行平滑过渡

    1.问题背景 opencv 官方手册 文档 练习题 练习题实现代码 使用 cv.addWeighted 函数在文件夹中创建图像的幻灯片放映,并在图像之间进行平滑过渡 2.代码部分 按任意键切换幻灯片 ...

  5. VirtualBox问题——无法在父文件夹中创建虚拟文件夹

    创建新系统提示无法在父文件夹中创建虚拟文件夹 解决:以管理员的身份运行VirtualBox

  6. WPF:使用Json.NET在TreeView中树形显示JSON数据

    原文 WPF:使用Json.NET在TreeView中树形显示JSON数据 据 读者可以参考这个开源的可以树形显示XML和JSON的工具: Mgen Object 603:XML/JSON树形显示小工 ...

  7. 在MySql数据库中创建数据库dbjava,数据表book,字段包括bno,bname,price,count(编号、书名、单价、数量)。 利用JDBC连接数据库dbjava,实现数据表的增删 改查

    题目 1.在MySql数据库中创建数据库dbjava,数据表book,字段包括bno,bname,price,count(编号.书名.单价.数量). 2.利用JDBC连接数据库dbjava,实现数据表 ...

  8. hive 导出json格式 文件_hive存储json格式文件

    hive从0.12版本以后就开始自身支持json文件的格式了 1.文件格式 下面是测试用的文件预览格式,我将其存储为jsonTest.json文件,放在了/root目录下 {"_locati ...

  9. hive 导出json格式 文件_Hive 系列 之 基本操作合集

    下面是本课程概览: (1)hive系列之简介,安装,beeline和hiveserver2 (2)hive系列之基本操作 (3)hive系列之udf (4)hive系列之二级分区和动态分区 (5)hi ...

最新文章

  1. 5.15 pymysql 模块
  2. Python学习笔记-模块介绍
  3. 设计模式—工厂模式之简单工厂模式
  4. 1.1 Windows 程序运行原理(消息循环和响应)
  5. Vue-router(二) 子路由(嵌套路由)
  6. ios 静态库合成_iOS生成静态库方法-iOS集成静态库-iOS合并静态库
  7. 都2021年了,c/c++开发竟然还能继续吃香??
  8. android工程中的软件,通过Android Studio创建Android应用程序(附带解析)
  9. Java基础复习——访问权限
  10. 刚入行的测试工程师如何自学软件测试【下篇】-- 软实力
  11. Emmet的高级功能与使用技巧
  12. 浅谈计算机教学论文,浅谈计算机教学(论文)
  13. c语言 计算整数n的阶乘之和,c语言求阶乘之和是多少
  14. FUNCTION count does not exist
  15. 流失用户召回方法策略,教你如何挽回流失用户
  16. 证件照换底色·网页图片设计·第一次项目技术总结
  17. 【第三方互联】10、注册成为支付宝(Alipay)开发者
  18. 计算机英语趣味知识,看段子,学英语,懂点计算机知识才能看懂哦!
  19. 求解线性同余方程--扩展欧几里得
  20. 计算机常用英语关键词意思,英语关键词,英语关联词大全及翻译!

热门文章

  1. 快手小店电脑版_快手抖音主播同款谷歌地球手机版+电脑版+使用教程(在家旅游神器)...
  2. 基于微博数据对突发性环境污染事件公众感知变迁研究
  3. 生成指定序列的前一字典序序列(洛谷P2525题题解,C++语言描述)
  4. 【算法分析与设计】快速幂算法与快速幂取模算法
  5. 【算法分析与设计】汉诺塔问题
  6. 如何对 Jenkins 共享库进行单元测试
  7. 重构-改善既有代码的设计(十)--简化函数调用
  8. 03Linux用户和组及权限
  9. 软件发布版本命名规则
  10. Win2008R2创建虚拟路由