Ich erhalte und Fehler beim Aufruf von udf von innerhalb mitColumn in Spark mit Scala. Dieser Fehler tritt beim Erstellen mit SBT auf.Fehler beim Aufruf von udf von innerhalb mitColumn in Spark mit Scala
val hiveRDD = sqlContext.sql("select * from iac_trinity.ctg_us_clickstream")
hiveRDD.persist()
val trnEventDf = hiveRDD
.withColumn("system_generated_id", getAuthId(hiveRDD("session_user_id")))
.withColumn("application_assigned_event_id", hiveRDD("event_event_id"))
val getAuthId = udf((session_user_id:String) => {
if (session_user_id != None){
if (session_user_id != "NULL"){
if (session_user_id != "null"){
session_user_id
}else "-1"
}else "-1"
}else "-1"
}
)
Ich erhalte den Fehler, das ist -
scala:58: No TypeTag available for String
val getAuthId = udf((session_user_id:String) => {
Es kompiliert richtig, wenn statt (session_user_id: String) I (session_user_id verwenden: Gibt es), aber nicht im laufenden Betrieb wie jeder wird in Spark nicht erkannt. Bitte lassen Sie mich wissen, wie Sie damit umgehen.
Fehler oder nicht das macht keinen Sinn. Objekt der Klasse 'String' kann nicht' None' sein! – zero323