0
タイムスタンプを時刻を表す整数に変換するUDFを作成しようとしています。私はこのようなSparkSqlでこれを簡単に達成することができます。Spark UDFタイプの不一致エラー
私はこの正確な構文で我々のコードの多くのUDFを持っていますが、この1は、型の不一致エラーをしようとしています。私も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)