首页 > 软件测试/ 正文
云梯数据测试的小陷阱——NULL值问题
2012-10-26 08:55:03 ℃最近在测试开发同学产出的一份新的算法数据时,遇到了这样一个奇怪现象,追寻了一下其中原因,感觉有点小收获,写一篇blog记录一下,并分享给需要的同学。
问题描述:
算法同学在构建基于用户购买力的决策模型时,产出了一份基础数据,用来计算一周内,登录淘宝的cookie信息和其浏览的宝贝数据。在测试的过程中发现,这份数据存在关键key(用户登录淘宝网的cookie)为空的情况。查看开发的代码发现,在算法处理时,并没有对原始表进行脏数据的清理。随后,我想验证一下云梯上每日用户浏览信息这份基础数据到底有多少cookie记录为空的情况,就写了一条hive语句:“select count(1) from r_***_log where pt=*** and mid is null;"执行后惊奇的发现,居然一条结果都没有。但是执行"select * from r_***_log where pt=*** limit 100;" 是能看到一些key=cookie的空记录.再次换了一条计算hive"select count(1)from r_***_log where pt=*** and mid =' ';结果是可以查询到的。这就让我联想到一个问题,null值在云梯上到底是如何存储的呢?为什么所见不为所得呢?
做了一个小实验证明了下我的猜测:
1:在云梯生成一张临时表,并插入一条空记录
drop table t_minyi_tmptest; insert overwrite table t_minyi_tmptest select NULL from dual; |
2:查看这张表在云梯上究竟是如何存储的?
hadoop fs -text '/group/tbdataapplication-dev/hive/minyi/t_minyi_tmptest/*'; |
可以看到直接查看云梯的存储结果,发现将空记录存储为"\N".hive里强制置空的符号是'\N',空是没有显示的,但字符长度length(\N)并不等于0。此刻就联想到,由于这个原因是不是很多底层的基础数据,本身是"\N"怎么办呢?会不会被误认为NULL呢?
3:再次做实验,看看是不是可以将NULL值用其他字符代替?
drop table t_minyi_tmptest; create table if not exists t_minyi_tmptest ( cookie string ) row format delimited fields terminated by '\t' stored as SEQUENCEFILE location '/group/tbdataapplication-dev/hive/minyi/t_minyi_tmptest'; ALTER TABLE t_minyi_tmptest SET SERDEPROPERTIES ('serialization.null.format'='minyi'); insert overwrite table t_minyi_tmptest select NULL from dual; |
- 上一篇:Code Review代码审查的思路
- 下一篇:收集Android程序测试代码覆盖率
更多周口中专计算机学校哪家不错,新乡电脑培训学校哪家好,郑州北大青鸟电脑学校招生简章与要求,郑州学计算机的学校有哪些呢,郑州北大青鸟具体地址在什么地方,郑州专门学计算机的学校相关文章
- Java基础之Java运算符大百科
- JAVA编程解析之classpath的深入理解
- 关于如何提高代码可测试性的一些看法
- STAF测试框架的应用总结和分析
- 什么是软件测试架构
- 浅谈基于watir的前端敏捷测试
- 白盒测试有技术含量还是黑盒测试有技术含量?
- 敏捷测试的组织挑战
- 奇虎360软件测试笔试题
- 软件测试面试题
- 基于代码覆盖数据分析的代码去冗优化
- 同行评审那些事儿(二):评审的作用、目的和概念
- 质量意识从源头做起
- QA工作两个月的感受
- 如何优化测试质量
- 质量保证漫漫谈之QA、QC、QM的关系与区别
- 如何让质量和进度双赢
- 项目管理之质量管理(四)
- 如何实施软件质量保证
- 项目质量模型——数据区间离散化问题探究
- 软件测试中的风险因素识别
- 软件质量是什么
- 购买电脑的一些小技巧
- webqq是什么,简称网页版QQ
- 系统U盘挑选技巧
- 郑州比较好的Java培训
- 软件项目开发流程图
- 对于一名初学者该如何选择适合自己的编程语言
- 2015年软件开发学ios和Java 、android里的哪个好?
- 河南郑州Java培训学校哪家好
- 搜索
-
- 热门标签