我需要計算星期天的平均銷售額。該列salesdate(時間戳)值是:要從蜂巢中的TIMESTAMP得到星期幾
2012-01-01 09:00:00
2012-01-01 09:00:00
2012-01-01 09:00:00
...........
我已經提取使用TO_DATE(日期部分)現在如何從這個日期在蜂巢獲得工作日(如星期日)? 請指導。
我需要計算星期天的平均銷售額。該列salesdate(時間戳)值是:要從蜂巢中的TIMESTAMP得到星期幾
2012-01-01 09:00:00
2012-01-01 09:00:00
2012-01-01 09:00:00
...........
我已經提取使用TO_DATE(日期部分)現在如何從這個日期在蜂巢獲得工作日(如星期日)? 請指導。
可以使用UNIX_TIMESTAMP的組合,和FROM_UNIXTIME的UDF。
from_unixtime(unix_timestamp(col), 'EEEE')
如果您檢查SimpleDateFormat的文檔,FROM_UNIXTIME用途,你可以看到「EEEE」是一週中的一天的全名的代碼。 「EEE」爲您提供縮寫版本,即「Sun」或「Mon」。
只是一個建議..你可以用'yyyy-mm-dd'格式取一個較低的日期(低於你的數據中的最小日期),這是一個星期天。使用DATEDIFF()函數查找數據中的日期值('yyyy-mm-dd'格式)與此日期之間的差異。計算datediff輸出的模7。週日爲0,週一爲1,依此類推。