因为工作中需求到对hive内的数据进行操作,所以了解一下hive数据库的相关知识,防止自己删库跑路
hive的数据类型
整型:
TINYINT 微整型 1字节
SMALLINT 小整型 2字节
INT 整型 4字节
BIGINT 8字节
布尔型:
BOOLEAN TRUE/FALSE
浮点型:
FLOAT 单精度
DOUBLE 双精度
字符串类型:
STRING 不设定长度
复合型数据类型:
ARRAY 一组有序字段,字段的类型必须相同
MAP 一组无序的键值对
STUCTS 一组命名的字段
1 CREATE TABLE complex( 2 3 col1 ARRAY< INT>, 4 5 col2 MAP< STRING,INT>, 6 7 col3 STRUCT< a:STRING,b:INT,c:DOUBLE> 8 9 )
hive的存储类型
hive存储数据主要有两种方式列存储和行存储
hive常用的存储格式
1.textfile
默认格式 为行存储格式
2.ORCFile
hive/spark都支持这种存储格式,它存储的方式是采用数据按照行分块,每个块按照列存储,其中每个块都存储有一个索引。特点是数据压缩率非常高
3.Parquet
Parquet也是一种行式存储,同时具有很好的压缩性能;同时可以减少大量的表扫描和反序列化的时间。
sql中如何定义存储格式
CREATE TABLE IF NOT EXIST testname( .......... )STORED AS PARQUET