ITPub博客

首页 > 大数据 > Hadoop > hive中的null值

hive中的null值

Hadoop 作者:thamsyangsw 时间:2014-03-27 16:17:41 0 删除 编辑

在hive里面默认的情况下会使用’/N’来表示null值,但是这样的表示并不符合我们平时的习惯。
所以需要通过serialization.null.format的设置来修改表的默认的null表示方式。

测试表
hive> select * from sunwg00;
OK
NULL    mary
101     tom
Time taken: 0.058 seconds

创建普通表sunwg01,没有指定serialization.null.format
hive> CREATE TABLE sunwg01 (id int,name STRING) STORED AS TEXTFILE;
OK
Time taken: 0.04 seconds
hive> insert overwrite table sunwg01 select * from sunwg00;
Loading data to table sunwg01
2 Rows loaded to sunwg01
OK
Time taken: 17.047 seconds

查看sunwg01在hdfs的文件
[hjl@sunwg src]$ hadoop fs -cat /hjl/sunwg01/attempt_201105020924_0011_m_000000_0
/Nmary
101tom

NULL值被转写成’/N’

创建表sunwg02,指定serialization.null.format

hive> CREATE TABLE sunwg02 (id int,name STRING)
    > ROW FORMAT SERDE ‘org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe’
> WITH SERDEPROPERTIES (
    >  ‘field.delim’='/t’,
    >  ‘escape.delim’='//’,
    >  ‘serialization.null.format’=”
> ) STORED AS TEXTFILE;
OK
Time taken: 0.046 seconds

hive> insert overwrite table sunwg02 select * from sunwg00;
Loading data to table sunwg02
2 Rows loaded to sunwg02
OK
Time taken: 18.756 seconds

查看sunwg02在hdfs的文件
[hjl@sunwg src]$ hadoop fs -cat /hjl/sunwg02/attempt_201105020924_0013_m_000000_0
        mary
101     tom

NULL值没有被转写成’/N’,而是空字符串。

 

本文转自http://www.oratea.net/?p=618

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26613085/viewspace-1130850/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: hive中的Order By
请登录后发表评论 登录
全部评论

注册时间:2012-01-12

  • 博文量
    161
  • 访问量
    1235410