关于Hive建表需要注意的问题

一、环境

1、Hadoop 0.20.2

2、Hive 0.5.0

3、JDK 1.6

4、操作系统:Linux m131 2.6.9-78.8AXS2smp #1 SMP Tue Dec 16 02:42:55 EST 2008 x86_64 x86_64 x86_64 GNU/Linux

二、注意事项

1、关于数字类型支持的位数

类型 支持数字位数
tinyint 3位数字
smallint 5位数字
int 10位数字
bigint 19位数字

对于数字类型的存放,如果数字很长,但是对这个字段的值不需要进行计算,个人认为可以就是存放为string。

如果数字字段的值超过了设定的字段类型(例如,存放数字是20位,但是字段设计是bigint),那么,返回结果显示是NULL。

如果数字字段没有值,那么查询返回结果也会显示为NULL。

2、CREATE EXTERNAL TABLE tablename创建,在表建立之后,如果删除该表,数据文件依然是存在。

3、对于是string类型的字段,在查询后,如果该字段没有值,返回结果集合是看不到NULL的,也就是说,是“”这个值。所以,在取值或查询的时候的时候,千万记得对string类型的字段进行查询的时候,不要使用<>null或是is not null这样的描述。应该采用<>“”这样来进行条件过滤。

你可能感兴趣的:(null,string,x86,hadoop,table,linux,Hive)