如何为每个查询将配置单元查询赋给sperate文件?

wribegjk  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(293)

我有一个.sql文件,其中有100个配置单元查询,我希望它们的输出在多个文件中,比如第一个查询.txt文件被创建,第二个查询xyz.txt文件被创建,等等….对于100个查询,100个输出文件分别带有它们的结果

kg7wmglp

kg7wmglp1#

如果主.sql文件中有分号分隔的sql查询,则可以使用 awk 命令生成单独的配置单元命令和输出文件。

tr '\n' ' ' < yourqueryfile | awk 'BEGIN {RS=";"} \
{gsub(/(^ +| +$)/, "", $0);printf "hive -e \"%s\" >OUT_"NF".txt\n",$0}'
``` `RS=";"` -将记录分隔符设置为“;” `tr` -将查询之间的换行替换为单个空格。 `gsub` -修剪前导空格和尾随空格。
该命令将生成多个这样的配置单元命令行。

hive -e "select 1" >OUT_2.txt
hive -e "select 3 from ( select 4 )" >OUT_7.txt
hive -e "select name from t union select n from t2" >OUT_9.txt
hive -e "select * from c" >OUT_4.txt

相关问题