无法在sparklyr tbl的dplyr mutate函数中使用grepl

时间:2018-11-07 20:00:39

标签: r dplyr databricks sparklyr

我有一个大型数据集,我正在尝试使用dyplyr在分布式sparklyr tbl上进行处理。到目前为止,我已经可以在mutate中使用其他功能,但是base :: grepl返回错误。我要使用spark复制的进程单线程进程是:

df.dummy <- data.frame(name = c('100', '101', 'c102', '103', 'c104'), value = seq(1,5))

df.dummy %>% 
   mutate(cat = grepl('c', name))

  name value   cat
1  100     1 FALSE
2  101     2 FALSE
3 c102     3  TRUE
4  103     4 FALSE
5 c104     5  TRUE

我正在尝试运行以使其在分布式处理中运行的代码:

sdf.dummy <- copy_to(sc, df.dummy)

sdf.dummy %>% 
   mutate(cat = grepl('c', name))

这会产生以下错误消息:

Error : org.apache.spark.sql.AnalysisException: Undefined function: 'GREPL'. This function is neither a registered temporary function nor a permanent function registered in the database 'default'.; line 1 pos 24

由于grep是基本函数,所以我无法想象这是由于未将其加载到工作程序节点而引起的。对于spark / sparklyr / dplyr来说还很陌生,所以如果我误解了该过程的任何基本原理,请纠正我。

0 个答案:

没有答案