1、Hive存储格式
TEXTFILE:这是Hive的默认格式,适合于文本数据,但不支持压缩和高效的数据访问。
SEQUENCEFILE:这是一种二进制格式的文件,支持压缩,可以减少存储空间和提高读取效率。
RCFILE:这是一种行列存储相结合的存储格式,适合于读密集型的任务。
ORCFILE:优化后的RCFILE,提供了更好的压缩率和性能。
PARQUET:这也是一种列式存储格式,与ORCFILE类似,提供了高效的压缩和查询性能。
2、Hive数据单元
数据库:合理设计数据库,避免一个数据库中包含过多的表,可以提高查询效率。
表:使用分区和分桶可以提高查询效率。分区可以按时间、地区等维度划分数据,分桶可以将数据分散到多个文件中,减少单个文件的大小。
分区:定期维护和清理不必要的分区,可以提高查询效率。
分桶:合理选择分桶的列,可以减少数据倾斜,提高查询效率。
3、Hive存储模型
/数据仓库地址/数据库名称/表名称/数据文件
/数据仓库地址/数据库名称/表名称/分区键/数据文件
4、数据基本类型
整数:TINYINT、SMALLINT、INT、BIGINT
小数:FLOAT、DOUBLE、DECIMAL
文本:STRING、CHAR、VARCHAR
布尔:BOOLEAN
二进制:BINARY
时间:DATE、TIMESTAMP、INTERVAL
5、复杂数据类型
①ARRAY和MAP
ARRAY是具有相同类型变量的集合
MAP是一组键值对组合,key只能是基本类型,值可以是任意类型
②STRUCT
封装了一组有名字的字段,其类型可以是任意的基本类型
③UNIONTYPE
在任一时刻只有其中一个类型生效