У меня есть представление в Hive 1.1.0
, основанное на условии, оно должно возвращать пустой массив или массив struct<name: string, jobslots: int>
Вот мой код:
select
case when <condition>
then array()
else array(struct(t1.name, t1.jobslots))
end
from table t1;
Проблема в том, что пустой массив array()
имеет тип array<string>
.Поэтому, когда я пытаюсь вставить его в таблицу, выдается ошибка.
Как я могу изменить это, чтобы возвращать пустой массив типа array<struct<name: string, jobslots:int>>
, чтобы функция Hive's size()
возвращала 0 в этом массиве?