Apache spark 每月计算周数&;从Apache Spark中给定日期算起的一年

Apache spark 每月计算周数&;从Apache Spark中给定日期算起的一年,apache-spark,pyspark,apache-spark-sql,Apache Spark,Pyspark,Apache Spark Sql,在我的工作中的一个例子中,我需要计算从给定日期开始的月份的星期和年份的星期。在Spark 1.5.0中,有一个内置函数可用于计算相同的值 import org.apache.spark.sql.functions._ val WeekOfMonth = date_format($"GivenDate","W") val WeekOfYear = weekofyear($"GivenDate") 该值将一周的开始时间定为星期日。 但是我想用星期四作为一周的开始来计算月份的一周和一年的一周。我怎样

在我的工作中的一个例子中,我需要计算从给定日期开始的月份的星期和年份的星期。在Spark 1.5.0中,有一个内置函数可用于计算相同的值

import org.apache.spark.sql.functions._
val WeekOfMonth = date_format($"GivenDate","W")
val WeekOfYear = weekofyear($"GivenDate")
该值将一周的开始时间定为星期日。

但是我想用星期四作为一周的开始来计算月份的一周和一年的一周。我怎样才能做到这一点呢?

我想出了一种方法,用星期四作为一周的开始,来查找月份的一周和一年的一周。下面是我用来实现相同功能的代码

import java.sql.Timestamp
import java.text.SimpleDateFormat
import java.util.Calendar  
val dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")  
val dateValue = dateFormat.parse(givenDate)  
val cal = Calendar.getInstance()  
cal.setTime(dateValue)  
cal.setFirstDayOfWeek(Calendar.THURSDAY)  
cal.setMinimalDaysInFirstWeek(1)  
val weekOfMonth = cal.get(Calendar.WEEK_OF_MONTH)  
val weekOfYear = cal.get(Calendar.WEEK_OF_YEAR)  

希望这对别人有帮助。谢谢。

我想出了一个方法,以星期四作为一周的开始,来查找月份的一周和一年的一周。下面是我用来实现相同功能的代码

import java.sql.Timestamp
import java.text.SimpleDateFormat
import java.util.Calendar  
val dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")  
val dateValue = dateFormat.parse(givenDate)  
val cal = Calendar.getInstance()  
cal.setTime(dateValue)  
cal.setFirstDayOfWeek(Calendar.THURSDAY)  
cal.setMinimalDaysInFirstWeek(1)  
val weekOfMonth = cal.get(Calendar.WEEK_OF_MONTH)  
val weekOfYear = cal.get(Calendar.WEEK_OF_YEAR)  

希望这对别人有帮助。谢谢。

您能包括此代码正在使用的导入吗?这样,读者就可以重现这一点,并了解这些
weekofyear
date\u格式的函数是从哪里来的。@Tzach Zohar,这些是Spark 1.5版以后的内置函数,请参阅:您能包括此代码使用的导入吗?这样,读者就可以重现这一点,并了解这些
weekofyear
date\u格式的函数来自何处。@Tzach Zohar,这些是Spark 1.5以后的内置函数,请参见: