hive null处理

NULL转化为空字符串,可以节省磁盘空间,实现方法有几种
 1)建表时直接指定(两种方式)
     a、用语句
    ,如:
    CREATE TABLE text_1 (
    id int
    ,name STRING) 
    PARTITIONED BY ( partation_date string) 
    ROW FORMAT SERDE ‘org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe’ 
    WITH SERDEPROPERTIES ( ‘field.delim’='/t’, ‘escape.delim’='//’, ‘serialization.null.format'='' ) 
    STORED AS ORC;
    
    b、或者通过ROW FORMAT DELIMITED NULL DEFINED AS '' 如
        CREATE TABLE text_2 (
    id int,
    name STRING) 
    PARTITIONED BY (  partation_date string) 
    ROW FORMAT DELIMITED NULL DEFINED AS '' 
    STORED AS TEXTFILE;

2)修改已存在的表
alter table hive_tb set serdeproperties('serialization.null.format' = '');

注意:此配置只是底层存储,null默认存储为  \N  ,改为''.  单再CLI界面上仍为NULL,实际存储为''

select * from text_2  ;输出均为NULL


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值