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的数据类型相关推荐

  1. Hive 0.13 数据类型

    hive支持的数据类型路下 数值类型 Numeric Types TINYINT (1字节,数据范围: -128 to 127) SMALLINT (2字节,数据范围: -32,768 to 32,7 ...

  2. hive与hbase数据类型对应关系

    hive与hbase数据类型对应关系 当hbase中double,int 类型以byte方式存储时,用字符串取出来必然是乱码. 在hivd与hbase整合时也遇到这个问题:做法是:#b 1.加#b C ...

  3. Hive——Hive数据类型

    1.基本数据类型 Hive数据类型 Java数据类型 长度 例子 TINYINT byte 1byte有符号整数 20 SMALINT short 2byte有符号整数 20 INT int 4byt ...

  4. hive中的数据类型

    数据类型 1.Hive中的数据类型分为两类:基本类型和复杂类型 2.基本类型包含:tinyint,smallint,int,bigint,float,double,boolean,string,tim ...

  5. [Hive] - Hive参数含义详解

    hive中参数分为三类,第一种system环境变量信息,是系统环境变量信息:第二种是env环境变量信息,是当前用户环境变量信息:第三种是hive参数变量信息,是由hive-site.xml文件定义的以 ...

  6. Spark on Hive Hive on Spark傻傻分不清?

    Spark on Hive? Hive on Spark傻傻分不清? 1 spark on hive Spark on hive,是spark计算引擎依托hive data source,spark ...

  7. Hive——hive安装

    1.Hive安装地址 1.Hive官网地址 http://hive.apache.org/ 2.文档查看地址 https://cwiki.apache.org/confluence/display/H ...

  8. hive -- hive + hiveclient (hive 客户端)

    五个节点的hadoop服务器集群搭建完成后,得想办法提高开发效率,mapreduce 我不是高手,写起来有点麻烦,公司业务不等人,还是决定上hive. 话说想玩好hadoop 还得学精mapreduc ...

  9. Hive ---- Hive入门

    Hive ---- Hive入门 1. 什么是Hive 1. Hive简介 2. Hive本质 2. Hive架构原理 1. 用户接口:Client 2. 元数据:Metastore 3. 驱动器:D ...

  10. 深入浅出学Hive——Hive原理

    目录: 初始Hive Hive安装与配置 Hive内建操作符与函数开发 Hive JDBC Hive参数 Hive高级编程 Hive QL Hive Shell基本操作 Hive优化 Hive体系结构 ...

最新文章

  1. 干货:Android 源码使用心得分享
  2. python视频口碑佳_从万众期待到口碑扑街!用Python来分析一下大家对唐探3的评论...
  3. openapi开放平台架构_适用于所有人的MicroProfile OpenAPI
  4. 用VC6.0遇到的一个问题
  5. CM: 使用ICF node实现对附件的读取
  6. 运行指定代码_JavaScript 运行机制(Event Loop)详解
  7. bzoj1339[Baltic2008]Mafia*
  8. 好消息好消息——带计算机课程的希捷移动硬盘发货啦
  9. js 的arguments的一些理解资料
  10. 与你一起学习Microsoft Visio——基础篇
  11. linebreak_经典MT4指标3LineBreak
  12. isight2019安装教程_DS SIMULIA Suite 2019 (Abaqus/Isight/Fe-safe/Tosca) Win/Linux x64
  13. BUUCTF-MISC-黑客帝国~喵喵喵
  14. CTSCAPIOTHUPC2018颓废记
  15. pyton3 with异常
  16. Linux安装Intel无线网卡(Ubuntu 16.04)
  17. 带你手摸手搭建vuepress站点
  18. 五年级上册ppt计算机教案,五年级上册信息技术《PowerPoint》教案三篇
  19. echarts markPoint 柱形图中添加图片
  20. [学习Cython编程]Cython编程入门

热门文章

  1. pytorch显存管理
  2. 多个notification引发的问题
  3. 开始学习C#.Net
  4. wcdma码片速率_WCDMA中的码片速率,符号速率,信息速率(bit rate)之间的关系
  5. 在PaaS上构建SaaS应用程序需要注意什么
  6. 我写的这些opensource项目
  7. 好久没弄网站多皮肤了
  8. NLB群集的两种操作模式-2
  9. 2011年3月四级网络工程师笔试试卷 解答思路
  10. 2019CSP-S初赛知识点汇总