Hive_数据仓库_数据类型的选择

 

Hive 有很多的基础数据类型,在实际构建数仓的这么多数据类型,我们该如何选择呢?

 

如果你的公司足够大,那么建议参照以下几条建议:

 

浮点数建议:

 

1) Hive 中Double类型需要慎用, Hive 中Double类型存在失真。

例如: 原始数据是 10000, Hive 中10000 可能为10000.0001


 
2)  为了浮点数越界,或者失真的问题,建议不论原始数据是 float, double 或者 decimal 统一存储为 decimal。
 

 

数值类型建议: 
    


 建议所有的数值类型,都存储为BIGINT。 目的是 为了防止数值类型范围变大,导致数值越界的问题。  
   

 

 

字符,字符串类型 :

 

CHAR,VARCHAR 都定义为 STRING 。因为 CHAR, VARCHAR 虽然 Hive 高版本已经支持,但是为了防止数据越界复杂的问题,还是推荐存储为 STRING 类型。

 

 

日期类型建议:

 

     建议 DATE 统一定义为 STRNG类型,(至少在ods 是这样存储的) 

你可能感兴趣的:(Hive,数仓设计)