如何在beeline HDP中将配置单元数据导出为带双引号的csv格式

时间:2018-11-29 16:26:01

标签: csv hive double-quotes

我正在尝试从HDP中的beeline从蜂巢表创建一个csv文件。 csv文件中的所有值都应包含双引号。我正在使用以下语法

直线-u'jdbc:hive2://主机名'--outputformat = csv2 -f scriptfile.sql> outputfile.csv

这是创建没有双引号的csv文件。 我尝试使用outputformat = csv来创建仅单引号。

我知道我可以使用  awk -F“'?,'?” -v OFS ='“,”'{{$ 1 = $ 1; gsub(/ ^。| $ /,“ \”“)} 1'outputfile.csv 以获得双引号,但是从直线语法本身来看得到双引号。

请让我知道。

谢谢, 库玛

1 个答案:

答案 0 :(得分:1)

使用concat('“',co​​l,'”')获得双引号。

针对您的HQL脚本:

select
concat('"',col1,'"'),
concat('"',col2,'"'),
...

然后,您可以运行命令。 beeline -u <connectionstring> --outputformat=csv2 -f scriptfile.sql > out.csv

有点笨拙,但是有效。

您还可以查看this answer,使用OpenCSVSerde创建一个表,该表允许使用自定义定界符,例如双引号。