使用Linux保存没有引号的presto查询结果

时间:2016-08-14 08:40:11

标签: presto

我在Linux环境中使用presto Db。当我希望将查询结果保存到文件中时,它会被保存并带有引号。

让我说我跑:

    presto-cli --schema default --catalog hive --execute "select distinct(cust)    from sales" > results.txt

,结果保存如下:

    "David B"

我使用sed' s / \" // g'稍后删除引号,但我想知道是否有办法解决这个问题。

1 个答案:

答案 0 :(得分:4)

默认输出格式为CSV。您可以使用TSV(制表符分隔值),这些值不会在字段周围加上引号:

presto --output-format TSV --execute "SELECT ..."

如果要将选项卡转换为逗号(或其他字符),可以通过标准UNIX tr命令管道结果:

presto ... | tr '\t' ','

请注意TSV输出格式对字段使用C样式转义,因此如果您的数据有标签,换行符,反斜杠等,您会看到\n或{{{{{ 1}}在输出中。