Ho due colonne di data/ora in un dataframe che vorrei ottenere la differenza minima di, o in alternativa, la differenza di ora di. Attualmente sono in grado di ottenere la differenza il giorno, con arrotondamento, facendoScala Scala: DateDiff di due colonne per ora o minuto
val df2 = df1.withColumn("time", datediff(df1("ts1"), df1("ts2")))
Tuttavia, quando ho guardato la pagina doc https://issues.apache.org/jira/browse/SPARK-8185 non ho visto alcun parametro in più per cambiare l'unità. È una loro funzione diversa che dovrei usare per questo?
La mia soluzione calcolerà la differenza per ogni riga nel dataframe. Si prega di essere più specifico se c'è un problema con esso. Inoltre, per la tua soluzione, credo sarebbe meglio evitare le espressioni di stringa (è più difficile da testare e più incline agli errori): 'val df2 = df1.select ((unix_timestamp (ts1) - unix_timestamp (ts2))/3600D)' . –