Я пытаюсь написать функцию udf в scala и использовать ее в своей работе pyspark.моя схема данных
root
|-- vehicle_id: string
|-- driver_id: string
|-- StartDtLocal: timestamp
|-- EndDtLocal: timestamp
|-- trips: array
| |-- element: struct
| | |-- week_start_dt_local: timestamp
| | |-- week_end_dt_local: timestamp
| | |-- start_dt_local: timestamp
| | |-- end_dt_local: timestamp
| | |-- StartDtLocal: timestamp
| | |-- EndDtLocal: timestamp
| | |-- vehicle_id: string
| | |-- duration_sec: float
| | |-- distance_km: float
| | |-- speed_distance_ratio: float
| | |-- speed_duration_ratio: float
| | |-- speed_event_distance_km: float
| | |-- speed_event_duration_sec: float
|-- trip_details: array
| |-- element: struct
| | |-- event_start_dt_local: timestamp
| | |-- force: float
| | |-- speed: float
| | |-- sec_from_start: float
| | |-- sec_from_end: float
| | |-- StartDtLocal: timestamp
| | |-- EndDtLocal: timestamp
| | |-- vehicle_id: string
| | |-- trip_duration_sec: float
я пытаюсь написать функцию udf
def calculateVariables(row: Row):HashMap[String, Float] = {
case class myRow(week_start_dt_local: Timestamp, week_end_dt_local: Timestamp, start_dt_local: Timestamp, end_dt_local :Timestamp, StartDtLocal:Timestamp,EndDtLocal:Timestamp,vehicle_id:String,duration_sec:Int,distance_km:Int,speed_distance_ratio:Float,speed_duration_ratio:Float,speed_event_distance_km:Float,speed_event_duration_sec:Float)
val trips = row.getAs[WrappedArray[myRow]](4)
в этой функции карты, я пытаюсь привести строку к классу дела, но не могу.получаю эту ошибку
Может кто-нибудь помочь мне, как я могу решить эту проблему?