Spark - Получение несоответствия типов при назначении метки строки нулевым значениям - PullRequest
0 голосов
/ 10 сентября 2018

У меня есть набор данных со столбцом stringType, который содержит нули. Я хотел изменить каждую строку с нулевым значением со строкой. Я пытался следующее:

val renameDF = DF
.withColumn("code", when($"code".isNull,lit("NON")).otherwise($"code"))

Но я получаю следующее исключение:

org.apache.spark.sql.AnalysisException: не удается разрешить 'СЛУЧАЙ КОГДА (del. code IS NULL) THEN 'NON' ELSE del. code END 'из-за несоответствие типов данных: выражения THEN и ELSE должны быть одного типа или принудительный к общему типу;

Как сделать строку типа столбца, совместимого с $"code"

1 Ответ

0 голосов
/ 10 сентября 2018

Это странно, я только что попробовал этот фрагмент:

val df = Seq("yoyo","yaya",null).toDF("code")
df.withColumn("code", when($"code".isNull,lit("NON")).otherwise($"code")).show

И это работает нормально, вы можете поделиться своей версией искры.И вы импортировали искровые последствия?Вы уверены, что ваша колонка имеет тип StringTyped?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...