使用Sparklyr选择R中的N行

使用Sparklyr选择R中的N行,r,sparklyr,R,Sparklyr,我正在尝试使用SparkMyr选择SparkDataframe的不同中间行 我一直在寻找它,但我没有找到它(只有头部和尾部功能,但我不想要这些)。是否有一个SparkyR函数可以与传统的R函数一样使用数据帧的维度? 我需要创建一个包含n:m行SparkDataframe的R数据帧 例如,如果n=1,m=5: 传统R data(iris) iris2 <- iris[1 : 5, ] 数据(iris) iris2制作一个索引列,然后过滤掉上下索引。所以如果我想保持5:7,我会: iris

我正在尝试使用SparkMyr选择SparkDataframe的不同中间行

我一直在寻找它,但我没有找到它(只有头部和尾部功能,但我不想要这些)。是否有一个SparkyR函数可以与传统的R函数一样使用数据帧的维度? 我需要创建一个包含n:m行SparkDataframe的R数据帧

例如,如果n=1,m=5:

传统R

data(iris)

iris2 <- iris[1 : 5, ]
数据(iris)

iris2制作一个索引列,然后过滤掉上下索引。所以如果我想保持5:7,我会:

iris_tbl <- sdf_copy_to(sc, iris, name = "iris", overwrite = TRUE) %>%
  sdf_with_sequential_id(id = "index") %>%
  filter(5<=index, index<=7)
iris\u tbl%
具有顺序id(id=“index”)%>%

滤波器(5@strawberryBeef请注意,使用时应特别小心。它不会触发对输入的额外操作,这可能是一个问题,由于
数据集
->
RDD
->
数据集
转换,因此成本相当高,但也假设表具有确定性顺序,可能是,也可能不是case,取决于上游流程。@zero323您能详细说明一下该评论吗?提到该函数使用Scala函数;我希望它的工作原理与通过SparkyR提供的其余
sdf.*
函数类似。我希望将其理解为
dataset
->
RDD
dataset
conversion将对我希望通过此解决方案处理的数据集造成灾难性影响。
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')"
iris_tbl <- sdf_copy_to(sc, iris, name = "iris", overwrite = TRUE) %>%
  sdf_with_sequential_id(id = "index") %>%
  filter(5<=index, index<=7)