Csv 配置单元sql,serde如何不引用我的字段?
由于默认情况下serde按“引用字段”,我怎么能不使用serde引用字段 我试过:Csv 配置单元sql,serde如何不引用我的字段?,csv,hive,double-quotes,hive-serde,Csv,Hive,Double Quotes,Hive Serde,由于默认情况下serde按“引用字段”,我怎么能不使用serde引用字段 我试过: row format serde "org.apache.hadoop.hive.serde2.OpenCSVSerde" with serdeproperties( "separatorChar" = ",", "quoteChar" = "") 但是我越来越 FAILED: SemanticException java.lang.StringIndexOutOfBoundsException: String
row format serde "org.apache.hadoop.hive.serde2.OpenCSVSerde"
with serdeproperties(
"separatorChar" = ",",
"quoteChar" = "")
但是我越来越
FAILED: SemanticException java.lang.StringIndexOutOfBoundsException: String index out of range: 0
可以通过将
\u0000
指定为引号字符来实现这一点。由于quoteChar
需要字符串,因此应使用此unicode版本的NULL
ROW FORMAT SERDE
"org.apache.hadoop.hive.serde2.OpenCSVSerde"
WITH SERDEPROPERTIES (
"separatorChar" = ",",
"quoteChar" = "\u0000")
此unicode NULL\u0000
是CSV编写器类用作无引号字符的值:由于某种原因“quoteChar”=“\u0000”
没有按照中的建议对我起作用
保存到文件时,字段周围不带引号,我使用:
-- saving to file
INSERT OVERWRITE LOCAL DIRECTORY 'file:/home/sidazhou/temp'
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
SELECT *
FROM temp_table
;
另外,我知道这不是问题所在,它涉及的是行格式SERDE
,而不是行格式分隔字段