Kettle导入数据到Hive 出现多余的几行全部是null值的情况

 Kylin构建Cube的时候老是报错,说是有空值,其实源数据中是不存在空值的。为什么建Cube的时候会有呢?

执行完毕后使用Hive查询发现多了好几行全部是null的行。

 

这在源数据中是不存在的。分析可能的原因是文本类型中存在特殊字符,例如 Tab,回车,换行字符。所以在抽取源数据中增加过滤。

Sql中的特殊字符

char(9) 水平制表符
char(10)换行键
char(13)回车键

原来的SQL
 select FItemID,FParentID
,FNumber
,FName 
from  表名 

 换成

 select FItemID,FParentID
,replace(replace(replace(FNumber,char(9),''),char(10),''),char(13),'') FNumber
,replace(replace(replace(FName,char(9),''),char(10),''),char(13),'') FName 
from  表名 

 

修改完毕后重新抽取数据,建模OK。



 

posted on 2018-04-11 10:52  Neo0820  阅读(2081)  评论(0编辑  收藏  举报

导航