hive -e with delimiter

时间:2017-06-02 16:23:30

标签: hadoop hive hiveql

我正在尝试从hive表中导出数据,如下所示,但它正在生成带有制表符作为分隔符的文件。导出时是否可以将分隔符指定为逗号或制表符?

hive -e "
use default;
set hive.cli.print.header=true;
select * from test1;
    " > /temp/test.txt (or .csv) 

由于 Ĵ

2 个答案:

答案 0 :(得分:1)

您可以管道数据并使用简单的sed命令将数据转换为所需的输出格式。 sed命令下面用逗号替换选项卡。默认输出是Tab。您可以相应地更改输出。

hive -e "use default;set hive.cli.print.header=true;select * from test1;" | sed 's/[\t]/,/g' >/temp/test.csv

答案 1 :(得分:0)

除了@Prabhat Ratnala解决方案,没关系,你可以使用它:

INSERT OVERWRITE LOCAL DIRECTORY '/temp/your_dir' ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' SELECT * FROM test1;