我正在使用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列获取月份以便group_by()数据?
谢谢!
卡洛斯
答案 0 :(得分:0)
尝试使用以下代码获取月份名称
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)