0

'u' 是一个包含 ID = 1, 2, 3 .. 和 time= "2010-01-01", "2012-04-06", .. ID 和 time 的 DataFrame 具有字符串类型。我将时间类型转换为“日期”

u$time <- cast(u[[2]], "Date")

我现在想在你的第一次。

first <- first(u$time)

我现在通过在第一次添加 150 天来创建一个新时间

cluster<- first+150

我现在想做一个子集。我想要一个新的“你”,时间从前 150 天开始。

ucluster <- filter(u, u$time < cluster)

但这不能在 sparkR 中运行。我收到此消息“returnstatus==0 is not TRUE”。

4

1 回答 1

1

您的方法的问题是 ucluster 是一个项目的列,而不是日期。如果您取第一行并将其时间存储在第一行,则一切正常:

df <- data.frame(ID=c(1,2,3,4),time=c("2010-01-01", "2012-04-06", "2010-04-12", "2012-04-09"))
u  <- createDataFrame(sqlContext,df)

u$time  <- cast(u[[2]], "Date")
first   <- take(u,1)$time
cluster <- first + 150

ucluster <- filter(u, u$time < cluster)

collect(ucluster)
于 2015-08-27T06:01:01.380 回答