将Hive表数据导出到.csv中。

问题描述 投票:0回答:1

这个问题可能以前有人问过,我对HADOOP和HIVE语言比较陌生。所以我试图导出内容,作为一个测试,看看我做的事情是否正确。代码如下。

Use MY_DATABASE_NAME;
INSERT OVERWRITE LOCAL DIRECTORY '/random/directory/test'
ROW FORMAT DELIMITED 
FIELDS TERMINATED BY ','  
LINES TERMINATED BY "\n"
SELECT date_ts,script_tx,sequence_id FROM dir_test WHERE date_ts BETWEEN '2018-01-01' and '2018-01-02';

这是我目前所拥有的,但后来它生成了多个文件,我想把它们合并成一个.csv文件或一个.xls文件,以便于工作。我的问题是,下一步我该怎么做才能完成这个任务?

先谢谢你了。

hive hiveql
1个回答
2
投票

你可以通过以下方式实现。

  1. 在查询中使用单个减速器,比如 ORDER BY <col_name>
  2. 存储到HDFS,然后使用命令 hdfs dfs –getmerge [-nl] <src> <localdest>
  3. 使用beeline。beeline --outputformat=csv2 -f query_file.sql > <file_name>.csv
© www.soinside.com 2019 - 2024. All rights reserved.