使用beeline命令将hive查询下载到csv格式

时间:2017-11-29 15:08:39

标签: hadoop hive beeline

我需要以csv格式将hive查询结果下载到本地文件路径。另外,列值应该用引号括起来,字段用逗号表示,文件在第一行中应该有列标题。

任何人都可以用最佳方法帮助我实现这一目标吗?注 - 查询通常返回超过5M行。

1 个答案:

答案 0 :(得分:0)

最好的方法是使用您选择的数据创建一个配置表,如下所示。

CREATE EXTERNAL TABLE ramesh_csv (col1 INT, col2 STRING)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES (
"separatorChar" = ",",
"quoteChar" = "\""
)
STORED AS TEXTFILE
LOCATION 'mylocation';

INSERT OVERWRITE TABLE ramesh_csv VALUES (1, 'TEST'), (2, 'TEST AGAIN');

在您的情况下,您将所选记录插入表中。

现在创建HDFS文件。这将用逗号分隔,并附上双引号。

请参阅下面的输出

"1","TEST"
"2","TEST AGAIN"

您可以使用hdfs -getmerge hdfs://mylocation data.csv将hdfs部分文件下载到单个本地文件