hive中的null值
2015-08-10 10:37
363 查看
在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’,而是空字符串。
在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’,而是空字符串。
相关文章推荐
- ajax开发框架和XMLhttpRequest、responseText、responseXml和JSON的应用
- linux设备驱动归纳总结(一):内核的相关基础概念
- Chrome快捷键
- Kth Smallest Element in a BST
- jsp页面通过uploadfile工具上传文件
- android中获取宽高
- Select count(*)和Count(1)的区别和执行方式
- 分数加减法
- 【日常学习】【区间DP】codevs1048 石子归并题解
- Nginx反向代理tomcat
- android模拟器中文乱码
- 约瑟夫问题——名单的通知
- PHP中文手册2
- MySQL5.6 GTID新特性实践
- DNS解析、逆向解析及DNS主从
- 标准模板库(STL)使用入门(下)
- 一些Java细节知识
- ant利用先进,ant订单具体解释,ant包,ant包装删除编译jar文件
- 有关硬件加速器的问题hardwareAccelerated
- 几本不错的开源书(to be continued)