Hive 基本语法操练(四):Hive 复合类型
hive语法中主要提供了以下复合数据类型:
1)Structs: structs内部的数据可以通过DOT(.)来存取。例如,表中一列c的类型为STRUCT{a INT; b INT},我们可以通过c.a来访问域a。
2)Map(K-V对):访问指定域可以通过["指定域名称"]进行。例如,一个Map中M包含了一个group->gid的K-V对,gid的值可以通过M['group']来获取。
3)Array:array中的数据为相同类型。例如,假如array A中元素['a','b','c'],则A[1]的值为'b'
1、Struct使用
1) 建表
hive> create table student_test(id int, info struct<name:string, age:int>) row format delimited fields terminated by ',' collection items terminated by ':'; OK Time taken: 0.386 seconds
hive> show tables;
OK
student_test
Time taken: 0.046 seconds, Fetched: 1 row(s)
'FIELDS TERMINATED BY' :字段与字段之间的分隔符。'COLLECTION ITEMS TERMINATED BY' :一个字段各个item的分隔符。
2) 导入数据
[hadoop@master ~]$ cd /home/hadoop/test
[hadoop@master test]$ sudo vim test1.txt
1,zhou:30
2,yan:30
3,chen:20
4,li:80
[hadoop@master test]$ ll
total 12
-rw-r--r-- 1 root root 43 May 24 03:40 test1.txt
-rw-r--r-- 1 root root 106 May 18 04:41 test.txt
-rw-r--r-- 1 root root 421 May 18 04:03 user.txt
hive> load data local inpath '/home/hadoop/test/test1.txt' into table student_test;
Loading data to table hive.student_test
Table hive.student_test stats: [numFiles=1, totalSize=37]
OK
Time taken: 0.363 seconds
3) 查询数据
hive> select info.age from student_test; OK 30 30 20 80 Time taken: 0.078 seconds, Fetched: 4 row(s)
2、Array使用
1) 建表
hive> create table class_test(name string, stu_id_list array<int>) row format delimited fields terminated by ',' collection items terminated by ':'; OK Time taken: 0.079 seconds
2) 导入数据
[hadoop@master test]$ sudo vim test2.txt 034,1:2:3:4 035,5:6 036,7:8:9:10 hive> load data local inpath '/home/hadoop/test/test2.txt' into table class_test; Loading data to table hive.class_test Table hive.class_test stats: [numFiles=1, totalSize=33] OK Time taken: 0.299 seconds
3) 查询
hive> select stu_id_list[3] from class_test; OK 4 NULL 10 Time taken: 0.048 seconds, Fetched: 3 row(s)
3、Map使用
1) 建表
hive> create table employee(id string, perf map<string, int>) row format delimited fields terminated by '\t' collection items terminated by ',' map keys terminated by ':'; OK Time taken: 0.082 seconds
‘MAP KEYS TERMINATED BY’ :key value分隔符
2) 导入数据
[hadoop@master test]$ sudo vim test3.txt 1 job:80,team:60,person:70 2 job:60,team:80 3 job:90,team:70,person:100 hive> load data local inpath '/home/hadoop/test/test3.txt' into table employee; Loading data to table default.employee Table default.employee stats: [numFiles=1, totalSize=72] OK Time taken: 0.643 seconds
3) 查询
hive> select perf['person'] from employee; OK 70 NULL 100 Time taken: 0.473 seconds, Fetched: 3 row(s)
以上就是博主为大家介绍的这一板块的主要内容,这都是博主自己的学习过程,希望能给大家带来一定的指导作用,有用的还望大家点个支持,如果对你没用也望包涵,有错误烦请指出。如有期待可关注博主以第一时间获取更新哦,谢谢!
版权声明:本文为博主原创文章,未经博主允许不得转载。
转载于:https://www.cnblogs.com/zimo-jing/p/9079161.html
Hive 基本语法操练(四):Hive 复合类型相关推荐
- c++primer plus 6 读书笔记 第四章 复合类型
目录 第4章复合类型 4.1 数组 4.1.1 4.1.2 数组的初始化规则 4.1.3C ++数组初始化方法使用{} 赋值,禁止缩窄转换. 4.2 字符串 4.2.1 拼接字符串常量 4.2.2 在 ...
- Hive学习之路(四):Hive内置函数介绍与实现WordCount
内容简介 一.Hive内置函数介绍 二.Hive常用内置函数介绍 1.数值计算函数 2.字符串操作函数 3.日期函数 4.聚合函数 5.表生成函数 三.使用Hive函数完成WordCount 1.创建 ...
- C++ primer Plus(第六版)中文版 第四章 复合类型 编程答案
// 第三章.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include <iostream>//预编译,使用iostre ...
- C++Primer Plus笔记——第四章 复合类型及课后编程练习答案
目录 本章小结 程序清单 课后编程习题答案 本章小结 本章主要论述了数组.指针和引用.在C + +语言中,它们是相互交织在一起的,对其中一个概念的理解有助于对其他槪念的理解. 数组是一个由 ...
- 英语语法---四种句子类型的介绍
英语语法 句子-四种句子类型的介绍 1. 陈述句(Declarative Sentence) 1.1 肯定句 1.2 一般否定句 2. 感叹句(Exclamatory) 2.1 What引导的感叹句 ...
- 业内公认的 OLAP 数据库黑马 ClickHouse 有哪些复合类型
ClickHouse 是一款由俄罗斯Yandex公司开源的OLAP数据库,拥有者卓越的性能表现,在官方公布的基准测试中,ClickHouse的平均响应速度是Vertica的2.63倍.InfiniDB ...
- 复合类型_没有学不会的python--复合类型(1)--概念和元组
其实复合类型并不复杂,对于没有学习过python的朋友来说,完全不用担心. 复合类型是什么? 前面我们有讲述过简单数据类型,由于我在多个平台都有上传文章,所以这里就不贴出链接来了,烦请有需要的朋友自己 ...
- 2021年大数据Hive(四):Hive查询语法
全网最详细的Hive文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 系列历史文章 前言 hive查询语法 一.SELECT语句 1.语句结构 2.全表查 ...
- hive 复合类型_hive 常用函数整理 9.复合类型操作
1. map类型构建: map 语法: map (key1, value1, key2, value2, -) 说明:根据输入的key和value对构建map类型 举例: hive> Creat ...
最新文章
- springJDBC实现查询方法二
- Java --Lamda表达式
- BCB key事件中判断Shift、Alt、Ctrl状态
- 删除机器人 异星工厂_10个视频,它们是国内智能工厂的标杆
- 信息抽取(三)三元关系抽取——改良后的层叠式指针网络,让我的模型F1提升近4%(接上篇)
- ROS-Kinetic 中使用XSENS MTI 1 姿态传感器
- jstree 节点拖拽保存数据库
- 简明Python教程学习笔记_6_面向对象编程
- android uber启动动画,仿 Uber 视频背景登录界面以及登录动画
- Hammock for REST
- 农作物分布数据、作物类型分布、农田分布数据、土地利用数据、植被类型数据、物候数据、NDVI数据
- 如何利用c语言写九九乘法表
- 四川托普计算机职业学校教务管理系统,四川托普信息技术职业学院教务处
- 央行数字货币在技术上是如何实现的
- 如何避免IE浏览器自动升级到版本11
- 标识解析数据网关IDG S800发布上线
- L1-009 N个数求和 (20 分)(C语言)(测试点3和测试点5)
- ebay获取商品详情 API接口
- GLES2.0中文API-glShaderBinary
- android环境监测,基于Wi―Fi和Android家居环境监测与实现