是否有任何Spark SQL UDF可用於計算兩個日期和時間之間的差異?Spark SQL - 用於計算兩個日期和時間之間差異的UDF
0
A
回答
0
沒有功能現在(火花2.0)來計算時數兩個日期之間的差,但有一個來計算的天數的差異:
DEF DATEDIFF (結束:列,開始:列):列 返回從開始到結束的天數。由於 1.5.0
Ref。 Scaladoc - functions。
1
我自己創建了一個。這是怎麼回事: -
def time_delta(y,x):
from datetime import datetime
end = datetime.strptime(y, '%Y-%m-%d %H:%M:%S')
start = datetime.strptime(x, '%Y-%m-%d %H:%M:%S')
delta = (end-start).total_seconds()
return int(delta/(60*60*24))
這需要在兩個日期y和x並返回結果以天爲單位。我使用下面的代碼註冊它: -
f = udf(time_delta, IntegerType())
sqlContext.udf.register("time_diff", time_delta)
它的作品就像一個魅力。這裏有一個例子: -
df = df.withColumn("Duration", f(df.end_date, df.start_date))
df.show()
結果是: -
Column<unix_timestamp(end_date, %Y-%m-%d %H:%M:%S)>
+---+-------------------+-------------------+-----+----+--------+
| id| end_date| start_date|state|city|Duration|
+---+-------------------+-------------------+-----+----+--------+
| 1|2015-10-14 00:00:00|2015-09-14 00:00:00| CA| SF| 30|
| 2|2015-10-15 01:00:20|2015-08-14 00:00:00| CA| SD| 62|
| 3|2015-10-16 02:30:00|2015-01-14 00:00:00| NY| NY| 275|
| 4|2015-10-17 03:00:20|2015-02-14 00:00:00| NY| NY| 245|
| 5|2015-10-18 04:30:00|2014-04-14 00:00:00| CA| SD| 552|
+---+-------------------+-------------------+-----+----+--------+
我也能在星火SQL使用它: -
%sql select time_diff(end_date,start_date) from data_loc
而且結果是: - Spark SQL results
相關問題
- 1. 計算MySQL中兩個日期時間之間的差異
- 2. JScript:如何計算兩個日期時間之間的差異?
- 3. 計算MVC中兩個日期時間之間的差異5
- 4. 計算輸入的日期和時間之間的差異?
- 5. 計算日期之間的時間差
- 6. 計算兩個日期字段的計數之間的差異
- 7. SQL計算兩個日期時間值之間的DayTime和NightTime
- 8. 計算javascript中兩個日曆日期之間的差異
- 9. 如何計算VB.net中兩個日期之間的差異?
- 10. 計算時間和日期差異
- 11. 使用Groovy計算兩個日期之間的月差異
- 12. 用javascript計算兩個日期之間的差異
- 13. 用strtotime計算兩個日期之間的差異
- 14. 如何用PHP計算兩個日期之間的差異?
- 15. 使用PHP計算兩個日期之間的差異?
- 16. 如何使用Node.js計算兩個日期之間的差異?
- 17. 計算日期之間的差異 - Postgres
- 18. C計算日期之間的差異
- 19. 如何計算兩個日期之間的差異
- 20. 如何計算使用PHP的兩個日期時間之間的差異?
- 21. 計算兩個datetime.date()日期之間在年份和月份之間的差異
- 22. 如何計算兩個日期之間的時間差 - MySql
- 23. 計算兩個不同格式日期之間的時間差
- 24. 如何計算兩個日期之間的時間差? - MySql
- 25. 計算兩列之間的差異sql
- 26. 計算PHP中兩個日期之間的差異
- 27. 如何計算日期間隔中兩行之間的差異?
- 28. 兩個日期之間的差異
- 29. 用PHP計算日期/時間之間的差異
- 30. 在兩個日期(日期時間)之間的差異
有什麼樣的區別?天數? – eliasah
@eliasah:天數或小時數...... – Shankar