我有一个Hive查询,工作正常。但是当我想在shell脚本中运行它时,我无法使它工作。
下面是shell脚本。
# !/bin/bash
start_date='2019-08-01'
end_date='2019-08-31'
while IFS='|' read -r table_name val;
do
hive -e "set hive.cli.print.header=true;select source_to_date, target_count from testing.log_final where project_name= '${val}' and source_to_date between '${start_date}' and '${end_date}' order by source_to_date;" | sed 's/[\t]/,/g' > /x/home/SUER/btree/"${table_name}".csv
done < /x/home/"$USER"/bt_tables.txt
的内容 bt_tables.txt
:
merchants|102_merchants_project
payments|103_payments_project
运行良好的查询:
hive -e "set hive.cli.print.header=true;select source_to_date, target_count from testing.log_final where project_name= '102_merchants_project' and source_to_date between '2019-08-01' and '2019-08-31' order by source_to_date;" | sed 's/[\t]/,/g' > /x/home/SUER/btree/merchants.csv
我做错什么了?
1条答案
按热度按时间798qvoo81#
您给定的命令可能没有问题,但您正在输出文件中重定向,而不是附加。
看男人狂欢
可以将append redirect output与>>一起使用,也可以在while执行结束后写入文件
就你而言:
或者
ihth公司