Обычно Spark Datasets
либо наследует свойство nullable
от своих родителей, либо выводит его на основе внешних типов данных.
Вы можете утверждать, является ли это хорошим подходом или нет, но в конечном итоге это разумный. Если семантика источника данных не поддерживает ограничения на значение NULL, то применение схемы также не может. В конце дня всегда лучше предположить, что все может быть null
, чем неудача во время выполнения, если это противоположное предположение окажется неправильным.