hive中的null

hive表

select * from tmp.zsh_test1;

c1    c2    c3    c4    c5    c6    topicdate
11    12    13    NULL    NULL    NULL    2018-09-01
21    22    23    NULL    NULL    NULL    2018-09-02
31    32    33    NULL    NULL    NULL    2018-09-03
41    42    43    44    NULL    NULL    2018-09-04
51    52    NULL    54    55    NULL    2019-02-13
 

(注:CREATE TABLE `zsh_test1`(
  `c1` int, 
  `c2` int, 
  `c3` int, 
  `c4` string, 
  `c5` string, 
  `c6` string)
PARTITIONED BY ( 
  `topicdate` string)

HDFS文件

hadoop fs -text hdfs:///user/hive/warehouse/tmp.db/zsh_test1/topicdate=2018-09-01/* | less

hadoop fs -text hdfs:///user/hive/warehouse/tmp.db/zsh_test1/topicdate=2019-02-13/* | less

思考:

1. 为什么2018-09-01的文件里null没有被存储?

2. 为什么2019-02-13的文件里int c3 和 string c6 里的null都存储成了‘\N’?
答:INT与STRING的存储,NULL默认的存储都是'\N'。

 

 

 

 

ref:
https://blog.csdn.net/weixin_38750084/article/details/82873171
https://blog.csdn.net/lvhuiyin/article/details/77894289
https://blog.csdn.net/SunnyYoona/article/details/78276551

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值