我想结合许多根据年份选择的表。对于当前年份(2019
,我有tab_h_2016
,tab_h_2017
和tab_h_2018
。到2020年时,我们将添加tab_h_2019
。我该如何联接(使用并集)具有相同附录的所有表,如果将新表添加到数据库中,则该表会自动合并?
答案 0 :(得分:0)
计算外壳中的表名并参数化脚本。
Shell:
table1=$(date +"tab_h_%Y" --date " -3 year");
table2=$(date +"tab_h_%Y" --date " -2 year");
table3=$(date +"tab_h_%Y" --date " -1 year");
hive --hiveconf table1="$table1" --hiveconf table2="$table2" --hiveconf table3="$table3" -f your_script.hql
脚本your_script.hql
:
select * from ${hiveconf:table1} inner join ${hiveconf:table2} ...