0
我想寫一個UDF將時間戳轉換爲表示一週小時的整數。我很容易用SparkSql來完成這件事。火花UDF類型不匹配錯誤
我有很多的UDF在我們這個確切的語法的代碼,但此人試圖類型不匹配錯誤。我也試着用col("session_ts_start")
來調用我的UDF,但那也失敗了。
import spark.implicits._
import java.sql.Timestamp
import org.apache.spark.sql.functions._
def getHourOfWeek() = udf(
(ts: Timestamp) => unix_timestamp(ts)
)
val dDF = df.withColumn("hour", getHourOfWeek()(df("session_ts_start")))
dDF.show()
<console>:154: error: type mismatch;
found : java.sql.Timestamp
required: org.apache.spark.sql.Column
(ts: Timestamp) => unix_timestamp(ts)