#hive #hortonworks-data-platform
#улей #hortonworks-data-platform
Вопрос:
Я хочу объединить много таблиц, выбранных в соответствии с годом. Для текущего года ( 2019
) у меня есть tab_h_2016
, tab_h_2017
amp; tab_h_2018
. Когда мы будем в 2020 году, мы добавим tab_h_2019
. Как я могу объединить (с помощью объединения) все таблицы, имеющие одно и то же приложение, таким образом, чтобы при добавлении новой таблицы в базу данных таблица автоматически объединялась?
Комментарии:
1. Все ли таблицы имеют одинаковую схему?
Ответ №1:
Вычислите имена таблиц в оболочке и параметрируйте свой скрипт.
Оболочка:
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} ...