【Hive】Hive的数据类型
Hive中数据类型可以分为基本数据类型和复合数据类型。这些数据类型都是用Java实现的。
1. 基本数据类型
类型名称 | 描述 | 举例 |
---|---|---|
boolean | true/false | true |
tinyint | 1byte有符号整数 (-128 to 127) | 30 |
smallint | 2byte有符号整数 (-32,768 to 32,767) | 30 |
int | 4byte有符号整数 (-2,147,483,648 to 2,147,483,647) | 30 |
bigint |
8byte有符号整数 (-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807) |
30 |
float | 4byte单精度浮点数 | 1.0 |
double | 8byte双精度浮点数 | 1.0 |
string | 字符串(无长度限制) | ‘hello world’ |
varchar ( 0.12.0+) |
字符串(1-65355位,超长截断) | ‘abc’ |
timestamp (v0.8.0+) | 整数,浮点数或字符串 ( Hive 0.8.0及以后) |
123345677(Unix新纪元秒数); 123345677.123456789(Unix新纪元秒+纳秒数); ‘2020-06-11 20:39:35.123456789’(JDBC 所兼容的java.sql.Timestamp时间格式) |
date ( 0.12.0+) |
日期 | 20200611 |
2. 复合数据类型
类型名称 | 描述 | 举例 |
---|---|---|
array | 字段类型必须相同 | array(1,2,3) |
map | 键值对 | map(name:zhangsan,age:12) |
struct | 字段类型可以不同 | strunct(‘a’,1,2,3) |
下面举例说明如何使用复合数据类型建表,以及如何查询复合数据类型的数据:
2.1 创建表
create table myhive.complex
(id int,profession ARRAY<string>,info map<string,string>,address struct<province:string, city:string, district:string>)
row format delimited fields terminated by ' '
collection items terminated by '#'
map keys terminated by ':';
2.2 导入数据
vi /home/hadoop/data/hiveData/complex.txt
#插入如下数据
1 teacher#driver name:john#age:28 shandong#qingdao#huangdaoqu表中导入数据
load data local inpath '/home/hadoop/data/hiveData/complex.txt' into table myhive.complex;
2.3 查询数据
#array类型按下标查询
select id,profession[0],profession[1] from myhive.complex;#map类型按key查询
select id,info['name'] as name, info['age'] as age from myhive.complex;#struct类型按key查询
select id,address.province, address.city, address.district from myhive.complex;
总结
对于Hive而言,有时并不太了解被推送到系统中的数据,所以采用相对不严格的数据类型会好一些,这样可以避免数据在导入时不被截断。
【Hive】Hive的数据类型相关推荐
- Hive 0.13 数据类型
hive支持的数据类型路下 数值类型 Numeric Types TINYINT (1字节,数据范围: -128 to 127) SMALLINT (2字节,数据范围: -32,768 to 32,7 ...
- hive与hbase数据类型对应关系
hive与hbase数据类型对应关系 当hbase中double,int 类型以byte方式存储时,用字符串取出来必然是乱码. 在hivd与hbase整合时也遇到这个问题:做法是:#b 1.加#b C ...
- Hive——Hive数据类型
1.基本数据类型 Hive数据类型 Java数据类型 长度 例子 TINYINT byte 1byte有符号整数 20 SMALINT short 2byte有符号整数 20 INT int 4byt ...
- hive中的数据类型
数据类型 1.Hive中的数据类型分为两类:基本类型和复杂类型 2.基本类型包含:tinyint,smallint,int,bigint,float,double,boolean,string,tim ...
- [Hive] - Hive参数含义详解
hive中参数分为三类,第一种system环境变量信息,是系统环境变量信息:第二种是env环境变量信息,是当前用户环境变量信息:第三种是hive参数变量信息,是由hive-site.xml文件定义的以 ...
- Spark on Hive Hive on Spark傻傻分不清?
Spark on Hive? Hive on Spark傻傻分不清? 1 spark on hive Spark on hive,是spark计算引擎依托hive data source,spark ...
- Hive——hive安装
1.Hive安装地址 1.Hive官网地址 http://hive.apache.org/ 2.文档查看地址 https://cwiki.apache.org/confluence/display/H ...
- hive -- hive + hiveclient (hive 客户端)
五个节点的hadoop服务器集群搭建完成后,得想办法提高开发效率,mapreduce 我不是高手,写起来有点麻烦,公司业务不等人,还是决定上hive. 话说想玩好hadoop 还得学精mapreduc ...
- Hive ---- Hive入门
Hive ---- Hive入门 1. 什么是Hive 1. Hive简介 2. Hive本质 2. Hive架构原理 1. 用户接口:Client 2. 元数据:Metastore 3. 驱动器:D ...
- 深入浅出学Hive——Hive原理
目录: 初始Hive Hive安装与配置 Hive内建操作符与函数开发 Hive JDBC Hive参数 Hive高级编程 Hive QL Hive Shell基本操作 Hive优化 Hive体系结构 ...
最新文章
- 干货:Android 源码使用心得分享
- python视频口碑佳_从万众期待到口碑扑街!用Python来分析一下大家对唐探3的评论...
- openapi开放平台架构_适用于所有人的MicroProfile OpenAPI
- 用VC6.0遇到的一个问题
- CM: 使用ICF node实现对附件的读取
- 运行指定代码_JavaScript 运行机制(Event Loop)详解
- bzoj1339[Baltic2008]Mafia*
- 好消息好消息——带计算机课程的希捷移动硬盘发货啦
- js 的arguments的一些理解资料
- 与你一起学习Microsoft Visio——基础篇
- linebreak_经典MT4指标3LineBreak
- isight2019安装教程_DS SIMULIA Suite 2019 (Abaqus/Isight/Fe-safe/Tosca) Win/Linux x64
- BUUCTF-MISC-黑客帝国~喵喵喵
- CTSCAPIOTHUPC2018颓废记
- pyton3 with异常
- Linux安装Intel无线网卡(Ubuntu 16.04)
- 带你手摸手搭建vuepress站点
- 五年级上册ppt计算机教案,五年级上册信息技术《PowerPoint》教案三篇
- echarts markPoint 柱形图中添加图片
- [学习Cython编程]Cython编程入门