本文展示了我们可以在配置单元中使用多字符分隔符。
但是我们也可以指定空值吗?
我尝试了以下返回错误的配置单元sql:
CREATE TABLE temp
( a STRING, b STRING)
ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.MultiDelimitSerDe'
WITH SERDEPROPERTIES ("field.delim"="@#")
NULL DEFINED AS 'NULL'
STORED AS TEXTFILE;
错误:
Error: Error while compiling statement: FAILED: ParseException line 5:0 missing EOF at 'NULL' near ')' (state=42000,code=40000)
1条答案
按热度按时间2w3rbyxf1#
使用行格式分隔选项时,可以使用定义为“null”的null选项。这里我们使用的是行格式serde选项,因此需要显式传递属性serialization.null.format。
通过设置serialization.null.format的属性值,可以使用以下查询:
有关更多信息,请参阅《hive ddl参考指南》。multiserde源代码。