Использование NVL2 и NULLIF в Scala SparkSQL - PullRequest
0 голосов
/ 24 сентября 2018

Я пытаюсь использовать функции sql NVL2 и NULLIF в моем коде scala-spark, но он не работает.

Это то, что я вижу - нижеприведенный оператор работает нормально и возвращает правильный результат

spark.sql("select columnName, NULLIF(columnName, 'abc') as status from df")

Но этот оператор завершается ошибкой и возвращает ошибку ниже -

df.withColumn('status', NULLIF(columnName, 'abc')) 

error: not found: value NULLIF

Я вижу похожую проблему при попытке использовать функции NULLIF, NVL2, LEAST и GREATEST в синтаксисе withColumn ().Я что-то пропустил?Я попытался

import org.apache.spark.sql.functions._ 
import org.apache.spark.sql.catalyst.expressions._ 
import org.apache.spark.sql.catalyst.analysis._

в моем коде scala, но ничего не помогло.

1 Ответ

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

Библиотека функций Scala Spark не имеет этих функций, но у spark sql librry есть эти функции.Вот почему вы не можете использовать в качестве API-функции искры.

https://spark.apache.org/docs/2.0.2/api/java/org/apache/spark/sql/functions.html

Это функция isNull, поэтому вы можете комбинировать это, когда / затем предложение для установки значений.

Надеюсь, это поможет.

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