1、HIVE的数据类型-整型
本次调试用到的hive数据类型:
TINYINT --- 微整型,1字节的有符号位整数-128-127。
SMALLINT-- 小整型,2个字节的有符号整数,-32768-32767。
INT-- 4个字节的带符号整数
BIGINT-- 8字节的带符号整数
FLOAT-- 4字节单精度浮点数1.0
DOUBLE-- 8字节双精度浮点数1.0
float : 单精度浮点数 double : 双精度浮点数
两者的主要区别如下:
1.在内存中占有的字节数不同
单精度浮点数在机内存占4个字节
双精度浮点数在机内存占8个字节
2.有效数字位数不同
单精度浮点数有效数字8位
双精度浮点数有效数字16位
3.数值取值范围
单精度浮点数的表示范围:-3.40E+38~3.40E+38
双精度浮点数的表示范围:-1.79E+308~-1.79E+308
4.在程序中处理速度不同
一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数快,如果不声明,默认小数为double类型,所以如果要用float的话,必须进行强转
例如:float a=1.3; 会编译报错,正确的写法 float a = (float)1.3;或者float a = 1.3f;(f或F都可以不区分大小写)。
java
建表:
CREATE TABLE hive_test.de_double(
id INT,
range_rd_de DOUBLE,
range_add_de DOUBLE,
float_de DOUBLE,
zero_de DOUBLE,
numerical_de DOUBLE,
hive_de DOUBLE
)
插入数据:
INSERT INTO hive_test.de_double (id,range_rd_de,range_add_de,float_de,zero_de,numerical_de,hive_de) values (1,5000.00,5000.00,5000.00,5000.00,5338.00,5000.00)
参考:hive数据类型
2、清除表的内容
删除所有数据
truncate table hive_test.de_double
删除某一条数据
当需要删除某一条数据的时候,我们需要使用 insert overwrite。
用满足条件的数据去覆盖原表的数据,只要在where条件里面过滤需要删除的数据。
insert overwrite table table_name select * from table_name where 条件