我正在尝试在 hive 中将 csv 文件中的空值设置为零。但是这段代码似乎不起作用。我应该进行哪些更改?



这是输入.csv文件

" 1",","动画"

" 2"," Jumanji","

","脾气暴躁的老人","喜剧"

Hive Code

创建表格(如果不存在)电影(Movie_id int,Movie_name String,类型字符串)

行格式serde'org.apache.hadoop.hive.hive.serde2.opencsvserde'

与serdeproperties(

" sapyatorChar" =",",

" quodechar" =" ",

" serialization.null.format" ='0'

);

输出

1动画

2 Jumanji

    Grumpier Old Men        Comedy

CSV中的空字符串被解释为空字符串,而不是空字符串。为了表示符合划界的文本文件中的null,您应该使用" n"。同样,Hive为您提供表属性" serialization.null.format",可用于将您选择的角色视为Hive SQL中的null。在您的情况下,应该是空字符串"。将nulls转换为零,请使用NVL(col, 0)COALESCE(col, 0)功能,具体取决于您的Hive版本(Cocece应该适用于所有人)。

相关内容

最新更新