首页 > 解决方案 > 在 R 中使用 spark 过滤数据

问题描述

我有一个如下火花数据框:

> head(marketdata_spark)
# Source:   lazy query [?? x 5]
# Database: spark_connection
AD_CC_CC AD_CC_CC_1 CL_CC_CC CL_CC_CC_1       Date
 <dbl>      <dbl>    <dbl>      <dbl>     <date>
 -380       -380    -1580      -1580 2018-02-05
   20         20     -280       -280 2018-02-06
 -700       -700    -1730      -1730 2018-02-07
 -460       -460    -1100      -1100 2018-02-08
  260        260    -1780      -1780 2018-02-09
  480        480      380        380 2018-02-12

我想过滤值如下,但我收到以下错误:

marketdata_spark %>% filter(AD_CC_CC > 10.0)

storage.mode(x) <-“double”中的错误:(列表)对象不能被强制输入“double”

我尝试将列转换为整数,但仍然给了我同样的错误。不知道出了什么问题。

标签: rsparklyr

解决方案


我知道这是一篇旧帖子,但我想补充一下 Alper t. 特克在评论中说对我来说确实如此。

之前,我只是在加载sparklyr,如下所示:

library(sparklyr)

解决我的问题的是加载两者sparklyr 然后 dplyr

library(sparklyr)
library(dplyr)

如果按此顺序加载,dplyr::filter 将屏蔽 sparklyr::filter,它无法处理列上的过滤器操作。


推荐阅读