如何将Hive表导出为CSV并且所有字段都已转义

时间:2016-06-07 08:55:54

标签: csv hadoop hive

如何以这样的格式导出Hive表:

"aaa,aaa","bbbbbb","cccccc"

我已经累了:

1)根据"row format ... escaped by '\042'"

的初始临时表创建临时表

2)使用"insert overwrite ... row format ... escaped by '\042'"

两个只转义包含一些特殊字符的字段,如下所示:

"aaa,aaa",bbbbbb,cccccc

我有Hive版本1.1.0-cdh5.5.0

1 个答案:

答案 0 :(得分:1)

如果您使用的是Hive 0.14及更高版本,则可以使用CSV Serde

您可以像这样指定serde属性:

CREATE TABLE my_table(a string, b string, ...)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES (
   "separatorChar" = "\t",
   "quoteChar"     = "'",
   "escapeChar"    = "\\"
)  
STORED AS TEXTFILE;