ich eine Tabelle mit der folgenden StrukturDatum Differenz zwischen aufeinander folgenden Reihen - Pyspark Dataframe
USER_ID Tweet_ID Date
1 1001 Thu Aug 05 19:11:39 +0000 2010
1 6022 Mon Aug 09 17:51:19 +0000 2010
1 1041 Sun Aug 19 11:10:09 +0000 2010
2 9483 Mon Jan 11 10:51:23 +0000 2012
2 4532 Fri May 21 11:11:11 +0000 2012
3 4374 Sat Jul 10 03:21:23 +0000 2013
3 4334 Sun Jul 11 04:53:13 +0000 2013
Im Grunde, was ich möchte, ist zu tun haben, eine PysparkSQL Abfrage, die die Datumsdifferenz berechnet (in Sekunden) für aufeinanderfolgende Datensätze mit derselben Benutzer-ID-Nummer. Das erwartete Ergebnis wäre:
1 Sun Aug 19 11:10:09 +0000 2010 - Mon Aug 09 17:51:19 +0000 2010 839930
1 Mon Aug 09 17:51:19 +0000 2010 - Thu Aug 05 19:11:39 +0000 2010 340780
2 Fri May 21 11:11:11 +0000 2012 - Mon Jan 11 10:51:23 +0000 2012 1813212
3 Sun Jul 11 04:53:13 +0000 2013 - Sat Jul 10 03:21:23 +0000 2013 5510
Ein anderer Weg: df.withColumn ("time_intertweet" (df.date. cast ("bigint") - Verzögerung (df.date.cast ("bigint"), 1) .over (Window.partitionBy ("user_id"). orderBy ("Datum"))). cast ("bigint")) – Joss
@Joss Könnten Sie das zur Antwort hinzufügen? Ich habe es in Wiki umgewandelt. Vielen Dank. –