1

使用以下方法创建了一个表:

 )   
ROW FORMAT SERDE 'com.bizo.hive.serde.csv.CSVSerde'
with serdeproperties(
"field.delim"="|"
)   

当我尝试上传以逗号分隔的文件时,它已正确上传。如果我将管道配置为数据的分隔符,这怎么可能?csv-Serde 是否有一些识别分隔符的“智能”方式?

4

1 回答 1

0

根据文档,有效的 CSVSerde 属性是

   "separatorChar" = "\t",
   "quoteChar"     = "'",
   "escapeChar"    = "\\"

默认分隔符、引号和转义符(如果未指定)

DEFAULT_ESCAPE_CHARACTER \
DEFAULT_QUOTE_CHARACTER  "
DEFAULT_SEPARATOR        ,

field.delim不受支持的属性被忽略,它使用默认设置。此属性对另一个 SerDe MultiDelimitSerDe有效

于 2018-07-02T13:54:38.780 回答