我正在尝试使用Sparklyr选择SparkDataframe的不同中间行。
我一直在寻找它,但没有找到它(只有 head 和 tail 函数,但我不想要这些函数)。是否有一个Sparklyr函数与传统R在播放数据帧的尺寸时具有相同的功能? 我需要用SparkDataframe的n:m行创建一个R数据框。
例如,如果n = 1和m = 5:
传统R
data(iris)
iris2 <- iris[1 : 5, ]
Sparklyr
sc <- spark_connect(master = "local")
iris_tbl <- sdf_copy_to(sc, iris, name = "iris", overwrite = TRUE)
提示:我正在查看 slice(),但是在编写代码时出现错误:
iris2 <- iris_tbl %>% slice(1:5) %>% collect()
no applicable method for 'slice' applied to an object of class "c('tbl_spark', 'tbl_sql', 'tbl_lazy', 'tbl')"
谢谢!
答案 0 :(得分:1)
创建一个索引列,然后过滤掉上下索引。因此,如果我想保持5:7,我就会这样做:
iris_tbl <- sdf_copy_to(sc, iris, name = "iris", overwrite = TRUE) %>%
sdf_with_sequential_id(id = "index") %>%
filter(5<=index, index<=7)
希望这会有所帮助