我是新手(虽然熟悉spark和pyspark),我有一个非常基本的问题.我正在尝试根据部分匹配过滤列.在dplyr中,我会这样写我的操作:
businesses %>%
filter(grepl('test', biz_name)) %>%
head
Run Code Online (Sandbox Code Playgroud)
然后在spark数据帧上运行该代码给了我:
错误:org.apache.spark.sql.AnalysisException:未定义的函数:'GREPL'.此函数既不是已注册的临时函数,也不是在数据库'project_eftpos_failure'中注册的永久函数.第5行pos 7
case_when
与外部变量一起使用时,Sparklyr失败。
工作示例:
test <- copy_to(sc, tibble(column = c(1,2,3,4)))
test %>%
mutate(group = case_when(
column %in% c(1,2) ~ 'group 1',
column %in% c(3,4) ~ 'group 2'))
Run Code Online (Sandbox Code Playgroud)
与失败 Error: Can't extract an environment from NULL
test <- copy_to(sc, tibble(column = c(1,2,3,4)))
group1_cols <- c(1,2)
group2_cols <- c(3,4)
test %>%
mutate(group = case_when(
column %in% group1_cols ~ 'group 1',
column %in% group2_cols ~ 'group 2'))
Run Code Online (Sandbox Code Playgroud)