24.
Spark SQL 的日期函数 dayofweek ,返回的天数,不是国人习惯的日期,改写方法。
参考官方文档解释:https://people.apache.org/~pwendell/spark-nightly/spark-master-docs/latest/api/sql/#dayofweek
https://www.cnblogs.com/chenzechao/p/9336764.html
若改成国人习惯的日期,则需要自行转换,下面给出demo (scala中用when else 来判断)
//新增days_of_week 当周第几天(按照国人习惯,周一为第一天)
.withColumn("days_of_week", when(dayofweek(from_unixtime(col("unix_time"), "yyyy-MM-dd")) === 1, 7)
.otherwise(dayofweek(from_unixtime(col("unix_time"), "yyyy-MM-dd")) -1)
.cast(LongType))
此贴来自汇总贴的子问题,只是为了方便查询。
总贴请看置顶帖:
pyspark及Spark报错问题汇总及某些函数用法。
https://blog.youkuaiyun.com/qq0719/article/details/86003435