2017-10-20 196 views
-1

如何更改以下命令,以便我可以將輸出文件導出爲管道分隔文件。配置單元導出到管道分隔文件

shellcommand='''hive -e 'set hive.cli.print.header=true; set hive.resultset.use.unique.column.names=false; use hivedb1; %s; ' | sed 's/[\t]/,/g' > %s '''%(selectqry,'path/outputfile.txt') 

回答

0

您可以用linux重定向重定向配置單元輸出。標準輸出是結果集。你可以用concat_ws函數連接輸出列。像:

CMD=`hive -e "set hive.cli.print.header=true; set hive.resultset.use.unique.column.names=false; use hivedb1; select concat_ws('|',col_1,col_2,col_3) from tbl" 1> output_file.txt 2> log.txt` 
+0

是的。但我的專欄數量是動態的,所以這將是非常困難的。但我找到了解決方案。而不是** sed's/[\ t] /,/ g'**使用** sed's/[\ t]/|/g'**。不管怎樣,謝謝 – kten

相關問題