Я запускаю куст 071, обрабатывая существующие данные, которые имеют следующий макет каталога:
-TableName
- d = (например, 2011-08-01)
- d = 2011-08-02
- d = 2011-08-03
... и т.д.
под каждой датой у меня есть файлы даты.
теперь для загрузки данных, которые я использую
CREATE EXTERNAL TABLE table_name (i int)
PARTITIONED BY (date String)
LOCATION '${hiveconf:basepath}/TableName';**
Я хочу, чтобы мой куст script мог загружать соответствующие разделы в соответствии с некоторой датой ввода и количеством дней. поэтому, если я передаю date = '2011-08-03' и days = '7'
script должен загружать следующие разделы
- d = 2011-08-03
- d = 2011-08-04
- d = 2011-08-05
- d = 2011-08-06
- d = 2011-08-07
- d = 2011-08-08
- d = 2011-08-09
Я не нашел какой-либо дискретный способ сделать это, кроме явного запуска:
ALTER TABLE table_name ADD PARTITION (d='2011-08-03');
ALTER TABLE table_name ADD PARTITION (d='2011-08-04');
ALTER TABLE table_name ADD PARTITION (d='2011-08-05');
ALTER TABLE table_name ADD PARTITION (d='2011-08-06');
ALTER TABLE table_name ADD PARTITION (d='2011-08-07');
ALTER TABLE table_name ADD PARTITION (d='2011-08-08');
ALTER TABLE table_name ADD PARTITION (d='2011-08-09');
а затем запустив мой запрос
select count(1) from table_name;
однако это отключение не автоматизировано в соответствии с вводом даты и дней
Можно ли каким-либо образом определить внешнюю таблицу для загрузки разделов в соответствии с диапазоном дат или арифметикой даты?