我正试图如下所示从配置单元表导出数据,但它正在生成以tab作为分隔符的文件。导出时是否可以将分隔符指定为逗号或制表符?
hive -e " use default; set hive.cli.print.header=true; select * from test1; " > /temp/test.txt (or .csv)
谢谢,j
c0vxltue1#
您可以通过管道传输数据,并使用简单的sed命令将数据转换为所需的输出格式。下面的sed命令用逗号替换制表符。默认输出为tab。您可以相应地更改输出。
hive -e "use default;set hive.cli.print.header=true;select * from test1;" | sed 's/[\t]/,/g' >/temp/test.csv
14ifxucb2#
除了@prabhat ratnala solution,也可以使用以下方法: INSERT OVERWRITE LOCAL DIRECTORY '/temp/your_dir' ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' SELECT * FROM test1;
INSERT OVERWRITE LOCAL DIRECTORY '/temp/your_dir' ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' SELECT * FROM test1;
2条答案
按热度按时间c0vxltue1#
您可以通过管道传输数据,并使用简单的sed命令将数据转换为所需的输出格式。下面的sed命令用逗号替换制表符。默认输出为tab。您可以相应地更改输出。
14ifxucb2#
除了@prabhat ratnala solution,也可以使用以下方法:
INSERT OVERWRITE LOCAL DIRECTORY '/temp/your_dir' ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' SELECT * FROM test1;