Все типы, кроме strings / varchar / char и некоторых сложных типов, таких как array, в Hive не могут быть пустыми, возможен только NULL. Пустая строка ''
- вполне нормальное значение типа String. Вы также можете создать пустой array () (массив с нулевым размером).
В качестве обходного пути вы можете использовать некоторые предопределенные значения, которые обычно не содержатся в ваших данных, для представления некоторых специальных числовых значений, например -99999. В качестве альтернативы вы можете хранить свои числовые значения в столбце String, в этом случае вы сможете иметь пустые значения в нем. Но невозможно присвоить (привести) пустые строки к числовым типам, потому что такое пустое значение недопустимо.
Если вы попытаетесь присвоить пустую строку числовому столбцу или приведение к числовому типу, результат будет таким же, как если бы вы преобразовывали нечисловую строку в числовое значение - NULL (в Hive, если невозможно преобразовать, возвращается NULL ) или получите java.lang.NumberFormatException в Java.