Hive-数据类型和文件格式
来源:互联网 发布:c递归算法经典实例 编辑:程序博客网 时间:2024/06/05 08:51
基本数据类型:
TINYINT(1 byte), SMALLINT(2 byte), INT(4 byte), BIGINT(8 byte)
BOOLEAN
FLOAT, DOUBLE
STRING
TIMESTAMP(整数,浮点数,字符串)
BINARY
注:
1、这些数据类型都是对Java中接口的实现;
2、数据类型隐式转换&显示转换cast;
集合数据类型:
STRUCT:类似于C语言,可以通过"."访问元素内容
MAP
ARRAY:编号同样从0开始
Hive与RDBMS对比:
1、RDBMS注重性能,支持最大长度的字符数组(定长记录容易建立索引,数据扫描),但是Hive强调磁盘的读写性能,所以不支持该类型;
2、RDBMS存在范式标准,不支持集合数据类型,这样可以减少数据冗余,保证数据的一致性,但是Hive强调高吞吐量,以最少的“头部寻址”来扫描磁盘是非常必要的;
文本文件数据编码:
Hive中默认的lines分隔符:\n
Hive中默认的fields分隔符:^A(Ctrl+A),在create table中使用八进制编码\001表示
Hive中默认的ARRAY、STRUCT中的元素或者MAP中键值对的分隔符:^B,八进制编码\002表示;
Hive中默认的MAP键和值之间的分隔符:^C,八进制编码\003表示;
指定其他分隔符语法:
create table test_table (
name STRING comment 'name'
)
row format delimited
fields terminated by '\001'
collection items terminated by '\002'
map keys terminated by '\003'
lines terminated by '\n'
stored as textfile;
几点说明:
1、其实,Hive的行分隔符只支持'\n',因此这个lines terminated by并不能指定其他分隔符;
2、传统RDBMS都是写时模式(schema on write),即数据在写入数据库时对模式进行检查,但是Hive是读时模式,即在写入时不会对数据进行验证,如果字段缺少或者类型不匹配会设为NULL(实际中还有NAN)。
- hive数据类型和文件格式
- Hive-数据类型和文件格式
- hive数据类型和文件格式
- Hive中的数据类型和文件格式
- Programming Hive Chapter3 (数据类型和文件格式)
- Hive数据类型、文件格式和数据定义
- Hive编程(三)【数据类型和文件格式】
- Hive 数据类型 文件格式
- Hive(一)数据类型、文件格式和数据定义
- 01分布式数据仓库 HIVE -- 数据类型-文件格式
- Hive--基础操作、数据类型和文本文件格式
- hive-文件格式和压缩方法
- Hive数据类型和数据格式
- Hive文件格式
- Hive文件格式
- Hive文件格式
- Hive文件格式
- Hive文件格式
- 使用 Bootstrap 快速开发网站和 Web 应用程序
- 为什么MyISAM会比Innodb的查询速度快。
- QWidget、QMainWindow、QDialog区别
- 简单理解缓存机制
- Python输入函数:raw_input() 与 input() 的区别
- Hive-数据类型和文件格式
- JAVA基础学习笔记(1):环境变量设置与Notepad++宏设置
- 常用正则表达式
- 微信摇骰子100%必胜的方法
- SpringMVC接收请求参数和页面传参
- HDU 1043 Eight 八数码
- Qt Class之QTableWidget
- 致曾被选召的孩子们
- 解决硬编码的上传文件的方式及配置文件传值、url传值的中文乱码