Datetime 将字符串转换为日期SparkR

Datetime 将字符串转换为日期SparkR,datetime,format,sparkr,Datetime,Format,Sparkr,我正在使用SparkR读取一个大数据帧。我想使用包含字符格式日期的列的月份进行总结: head(select(df, df$booking_date)) booking_date 1 29-JUL-16 2 29-JUL-16 3 06-JUL-16 4 21-JUL-16 5 28-JUL-16 6 28-JUL-16 但是,如果我尝试打印月份: head(select(df, month(df$booking_date))) month(book

我正在使用SparkR读取一个大数据帧。我想使用包含字符格式日期的列的月份进行总结:

head(select(df, df$booking_date))
  booking_date
1    29-JUL-16
2    29-JUL-16
3    06-JUL-16
4    21-JUL-16
5    28-JUL-16
6    28-JUL-16
但是,如果我尝试打印月份:

head(select(df, month(df$booking_date)))
  month(booking_date)
1                  NA
2                  NA
3                  NA
4                  NA
5                  NA
6                  NA
它没有返回正确的值。它似乎不理解格式,但执行以下命令会使month()方法非常不满意:

head(select(df, month(as.Date(df$booking_date, format = "%d/%b/%y")))
因此,如何从booking_date列中获取月份,以便根据()数据对_进行分组

谢谢


Carlos

尝试以下代码以获取月份名称

a <- as.list(collect(select(df, df$booking_date)))
b <- SparkR:::lapply(a$booking_date, function(x){months(as.Date(x, format = "%d-%b-%y"))})
print(b)
a