2016-09-15 2 views
2

У меня есть запрос, который использует объединение всех для объединения данных из двух таблиц. Первый запрос перед объединением все возвращает записи, но второй запрос не возвращает никаких записей (нулевые записи только для этого прогона. У нас могут быть записи для следующей загрузки). Проблема заключается в том, что hive выбрасывает исключение Nullpointer, если у меня нет записей из второго запроса.Nullpointer Exception Hive with Union Все

select col1,col2,col3 from A 
union all 
select col1,col2,col3 from B 

У меня есть записи в таблице. Но количество записей в таблице B может варьироваться в зависимости от каждой нагрузки. Запрос работает отлично, когда в таблице B есть записи.

Я знаю, что это ошибка в улье до версии 0.12. Но я использую версию 0.14. Любые идеи, что может быть основной причиной.

Примечание: таблица My B разделена. Когда я удаляю раздел, я не сталкиваюсь с какой-либо проблемой. Но раздел необходим.

+0

Любые намеки на это, пожалуйста? –

ответ

0

Это может быть поздно, но вы пробовали наоборот?

select col1,col2,col3 from B 
union all 
select col1,col2,col3 from A 

У меня была такая же проблема. Союз с пустым множеством дает NPE. Но пустое объединение множеств не-пустое множество, похоже, отлично работает для меня. Это может быть не лучший подход к этой проблеме, а обходной путь, пока это не будет исправлено в следующих версиях улья.