关于数字类型支持的位数类型 支持数字位数
tinyint 3位数字
smallint 5位数字
int 10位数字
tinyint 3位数字
smallint 5位数字
int 10位数字
bigint 19位数字
join on & left semi join:
发现是由于子表中存在重复的数据,当使用JOIN ON的时候,A,B表会关联出两条记录,应为ON上的条件符合;
而是用LEFT SEMI JOIN 当A表中的记录,在B表上产生符合条件之后就返回,不会再继续查找B表记录了,所以如果B表有重复,也不会产生重复的多条记录。
大多数情况下JOIN ON 和left semi on是对等的,但是在上述情况下会出现重复记录,以后可要小心。
hive null 和空值
hive的数据源是基于hdfs的数据文件,如果文件的某一个字段是空值,那么hive查询出来是什么值呢,具体动手实验了下
数据:2458,24723,1698,226,,
如果在表中字段定义是字符类型,那么查询出的是空值
如果在表中字段定义是数字类型,那么查询出的是NULL值