You just need to have your reusable hive script into small .HQL
files. Create shell script for ordered execution of the .HQL
files.
All you need to make sure that the current executing script do have its pre-requisite completed. i.e. it should have expected table/schema.
There are two things, which would help you.
1) the hive -f abcd.hql
command : Use a series of this command in the shell script for ordered execution of the scripts. e.g.
hive -f specific.hql
wait $!
hive -f reusable1.hql
wait $!
hive -f specific2.hql
wait $!
hive -f specific3.hql
wait $!
hive -f reusable2.hql
You might note the wait
commands, basically to tell the shell to wait for last command to complete. This is very important when output table of the last script is input to the next one.
2) Use hiveconf
to customize table, schema (or even where conditions or column names) at runtime. e.g. create table '${hiveconf:schema.name}.my_table ...