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。