| #!/bin/bash |
| |
| #create table |
| hive -f create-table.hql |
| echo "create table done" |
| |
| #current hour |
| ./gen_demo_data.sh |
| cur_date=`date +%Y%m%d%H` |
| dt=${cur_date:0:8} |
| hour=${cur_date:8:2} |
| partition_date="dt='$dt',hour='$hour'" |
| sed s/PARTITION_DATE/$partition_date/ ./insert-data.hql.template > insert-data.hql |
| hive -f insert-data.hql |
| src_done_path=/griffin/data/batch/demo_src/dt=${dt}/hour=${hour}/_DONE |
| tgt_done_path=/griffin/data/batch/demo_tgt/dt=${dt}/hour=${hour}/_DONE |
| hadoop fs -touchz ${src_done_path} |
| hadoop fs -touchz ${tgt_done_path} |
| echo "insert data [$partition_date] done" |
| |
| #last hour |
| ./gen_demo_data.sh |
| cur_date=`date -d '1 hour ago' +%Y%m%d%H` |
| dt=${cur_date:0:8} |
| hour=${cur_date:8:2} |
| partition_date="dt='$dt',hour='$hour'" |
| sed s/PARTITION_DATE/$partition_date/ ./insert-data.hql.template > insert-data.hql |
| hive -f insert-data.hql |
| src_done_path=/griffin/data/batch/demo_src/dt=${dt}/hour=${hour}/_DONE |
| tgt_done_path=/griffin/data/batch/demo_tgt/dt=${dt}/hour=${hour}/_DONE |
| hadoop fs -touchz ${src_done_path} |
| hadoop fs -touchz ${tgt_done_path} |
| echo "insert data [$partition_date] done" |
| |
| #next hours |
| set +e |
| while true |
| do |
| ./gen_demo_data.sh |
| cur_date=`date +%Y%m%d%H` |
| next_date=`date -d "+1hour" '+%Y%m%d%H'` |
| dt=${next_date:0:8} |
| hour=${next_date:8:2} |
| partition_date="dt='$dt',hour='$hour'" |
| sed s/PARTITION_DATE/$partition_date/ ./insert-data.hql.template > insert-data.hql |
| hive -f insert-data.hql |
| src_done_path=/griffin/data/batch/demo_src/dt=${dt}/hour=${hour}/_DONE |
| tgt_done_path=/griffin/data/batch/demo_tgt/dt=${dt}/hour=${hour}/_DONE |
| hadoop fs -touchz ${src_done_path} |
| hadoop fs -touchz ${tgt_done_path} |
| echo "insert data [$partition_date] done" |
| sleep 3600 |
| done |
| set -e |