将 hive 查询输出拆分为逗号分隔值

Posted

技术标签:

【中文标题】将 hive 查询输出拆分为逗号分隔值【英文标题】:Splitting hive query output as comma separate value 【发布时间】:2019-03-14 15:25:42 【问题描述】:

当我在脚本下运行时,我正在尝试将配置单元查询输出加载到 csv 文件中

hive -e "select * from mytable" > output.csv

我希望行字段的输出应该用逗号分隔。

【问题讨论】:

hive -e "select * from mytable" |awk -v OFS=, '$1=$11' >output.csv 这不是完整的答案 看看这个:***.com/a/53755790/2700344 【参考方案1】:

您可以为此编写一个 sql 查询,这样更不容易出错。

INSERT OVERWRITE LOCAL DIRECTORY '/tmp/mytable/data' 
ROW FORMAT DELIMITED 
FIELDS TERMINATED BY ','  
LINES TERMINATED BY "\n"
SELECT * FROM mytable;

如果您有直线,它可以选择将数据导出到 csv。

beeline --outputformat=csv2 -e "select * from mytable" > mytable.csv 

【讨论】:

感谢您的回答,它正在工作,但结果正在进入 .gz 文件,有没有办法我们可以将结果放入普通文件中 你在说哪个选项?

以上是关于将 hive 查询输出拆分为逗号分隔值的主要内容,如果未能解决你的问题,请参考以下文章

如何将逗号分隔的值拆分为列

将逗号分隔值拆分为 Oracle 中的列

用逗号分隔的拆分值mysql

将逗号分隔的字符串拆分为数组?

sql 将逗号分隔的字符串拆分为值列表(返回游标)

将逗号分隔的字符串拆分为mysql中的行