使用Sparklyr

时间:2018-10-11 15:48:00

标签: r sparklyr

我正在尝试使用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')"

谢谢!

1 个答案:

答案 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)

希望这会有所帮助