等待hive表某个分区有数据再执行任务

有时上游任务不好串到同一个DAG(比如azkaban任务)中,这时需要轮询指定分区是否有数据,如果有则执行下一个任务。这时可以利用"hadoop fs -test"命令,shell脚本如下

flag=1
echo "init flag:${flag}"
while (( flag == 1 ))
do
    hadoop fs -test -s /user/antifraud/hive/warehouse/af_pro/ql_user_range/ymd=${dt_1day}/000000_0
    flag=$?
    echo "flag:${flag}"
    sleep 5m
done

echo "run"

你可能感兴趣的:(等待hive表某个分区有数据再执行任务)