《Hive编程指南》读书笔记 | 一文看懂Hive的数据类型和文件格式
Hive支持关系型数据库中的大多数基本数据类型,同时也支持关系型数据库中很少出现的3种集合数据类型。
和大多数数据库相比,Hive具有一个独特的功能,那就是其对于数据在文件中的编码方式具有非常大的灵活性。
大多数数据库对数据具有完全的控制,其包括对数据存储到磁盘的过程的控制,也包括对数据生命周期的控制。
而Hive将这些方面的控制权交给用户,使用户更容易地使用各种各样的工具来管理和处理数据。
一、 基本数据类型
表1-1 Hive基本数据类型
数据类型 |
长度 |
例子 |
TINYINT |
1byte有符号整数 |
20 |
SMALINT |
2 byte有符号整数 |
20 |
INT |
4 byte有符号整数 |
20 |
BIGINT |
8 byte有符号整数 |
20 |
BOOLEAN |
布尔类型,true或false |
TRUE |
FLOAT |
单精度浮点数 |
3.14159 |
DOUBLE |
双精度浮点数 |
3.14159 |
STRING |
字符序列。可指定字符集。可使用单引号或双引号 |
‘now is the time’,”for all good men” |
TIMESTAMP(v0.8.0+) |
整数、浮点数或字符串 |
1327882397(Unix新纪元秒),1327882397。123456789(Unix新纪元秒并跟随有纳秒数)和‘2019-09-09 12:34:56.123456789’(JDBC所兼容的java.sql.Timestamp) |
BINARY(v0.8.0+) |
字节数组 |
见下文 |
二、 Hive的基本数据类型与Java中对应的类型一致
Hive的基本数据类型都是对Java中的接口的实现,因此这些类型的具体行为细节和Java中对应的类型是完全一致的。
三、 Hive不支持限制最大长度的“字符数组”类型
关系型数据库支持该类型是出于性能优化的考虑,因为定长的记录更容易进行建立索引,数据扫描等。
Hive所处的世界是“宽松”的,它不一定拥有数据文件,但必须能够支持使用不同的文件格式。Hive根据不同字段间的分隔符来对其进行判断。
同时,Hadoop和Hive强调优化磁盘的读和写的性能,而限制列的值的长度相对来说并不重要。
最新文章
- dedecms \plus\guestbook.php SQL Injection Vul By \plus\guestbook\edit.inc.php
- 【奇怪现象】用联通访问某些ASP.NET网站会产生__EVENTVALIDATION字段,用电信却只有:__VIEWSTATE。【正常】?原因?
- Java [Leetcode 169]Majority Element
- Android_AutoCompleteTextView,MultiAutoCompleteTextView
- hanoi双塔
- ajax只是一个称呼
- bzoj1389
- 推荐一个CMMI认证查询网站
- OUI-67076 : OracleHomeInventory was not able to create a lock file&;quot; in Unix
- 【leetcode】Clone Graph(python)
- Laravel 安装
- Java--高效的定时任务设计
- Access数据库自动生成设计文档
- Cartographer资料分享
- delphi 鼠标拖动
- SpringBoot入门教程(十五)集成Druid
- Spring-Boot 使用 Jedis 操作 Redis
- centos mysql 修改mysql用户密码
- Git中使用amend解决提交冲突
- Homestead在windows7 下的搭建