如何为每个查询提供配置文件的配置单元查询?

时间:2018-02-20 10:12:31

标签: unix hive scripting hiveql

我有一个.sql文件,其中有100个hive查询,我希望他们的输出在多个文件中,比如第一个查询abc.txt文件被创建用于第二个查询xyz.txt文件被创建等等。 ... 100个查询100个输出文件及其结果

1 个答案:

答案 0 :(得分:0)

如果你的主.sql文件有分号分隔的sql查询,你可以使用这样的awk命令生成带输出文件的单独的hive命令。

tr '\n' ' ' < yourqueryfile | awk 'BEGIN {RS=";"} \
{gsub(/(^ +| +$)/, "", $0);printf "hive -e \"%s\" >OUT_"NF".txt\n",$0}'

RS=";" - 将记录分隔符设置为“;”

tr - 将查询之间的换行替换为单个空格。

gsub - 修剪前导和尾随空格。

该命令将生成多个这样的hive命令行。

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