Я играю с Hive уже несколько дней, но мне все еще тяжело с разделом.
Я записываю логи Apache (формат Combine) в Hadoop в течение нескольких месяцев. Они хранятся в текстовом формате строки, разделены по дате (через поток):
/ Журналы / гггг / мм / дд / чч / ** * 1003
Пример:
/logs/2012/02/10/00/Part01xx (02/10/2012 12:00 am)
/logs/2012/02/10/00/Part02xx
/logs/2012/02/10/13/Part0xxx (02/10/2012 01:00 pm)
Дата в файле объединенного журнала соответствует следующему формату [10 / февраль / 2012: 00: 00: 00 -0800]
Как мне создать внешнюю таблицу с разделом в Hive, использующую мой физический раздел. Я не могу найти хорошую документацию по разделу Hive. Я нашел связанный вопрос, такой как:
Если я загружаю свои журналы во внешнюю таблицу с помощью Hive, я не могу разделить по времени, поскольку это не очень хороший формат (февраль <=> 02). Даже если бы он был в хорошем формате, как мне преобразовать строку "10/02/2012: 00: 00: 00 -0800" в несколько каталогов "/ 2012/02/10/00"?
Я мог бы в конечном итоге использовать сценарий pig для преобразования моих необработанных журналов в таблицы кустов, но на данный момент я должен просто использовать pig вместо hive для составления отчетов.