Как забрать все данные в улей из подкаталогов
У меня есть данные, организованные в каталогах в определенном формате (показано ниже), и я хочу добавить их в таблицу кустов. Я хочу добавить все данные каталога 2012 года. Все приведенные ниже имена являются именами каталогов, а самый внутренний каталог (3-го уровня) содержит фактические файлы данных. Есть ли способ выбрать данные напрямую, не меняя эту структуру каталогов. Любые указатели приветствуются.
/2012/
|
|---------2012-01
|---------2012-01-01
|---------2012-01-02
|...
|...
|---------2012-01-31
|
|---------2012-02
|---------2012-02-01
|---------2012-02-02
|...
|...
|---------2012-02-28
|
|---------2012-03
|...
|...
|---------2012-12
Запросы пробовали пока без везения:
CREATE EXTERNAL TABLE sampledata
(datestr string, id string, locations string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '|'
LOCATION '/path/to/data/2012/*/*';
CREATE EXTERNAL TABLE sampledata
(datestr string, id string, locations string)
partitioned by (ystr string, ymstr string, ymdstr string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '|';
ALTER TABLE sampledata
ADD
PARTITION (ystr ='2012')
LOCATION '/path/to/data/2012/';
РЕШЕНИЕ: Этот маленький параметр исправляет мою проблему. Добавляя к вопросу, где это может быть полезно для других:
SET mapred.input.dir.recursive=true;