roo*_*ror 6 r dplyr apache-spark sparklyr
我是新手(虽然熟悉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
与标准Spark相同,您可以使用rlike(Java正则表达式):
df <- copy_to(sc, iris)
df %>% filter(rlike(Species, "osa"))
# or anchored
df %>% filter(rlike(Species, "^.*osa.*$")
Run Code Online (Sandbox Code Playgroud)
或like(简单的SQL正则表达式):
df %>% filter(like(Species, "%osa%"))
Run Code Online (Sandbox Code Playgroud)
这两种方法也可以使用后缀表示法
df %>% filter(Species %rlike% "^.*osa.*$")
Run Code Online (Sandbox Code Playgroud)
和
df %>% filter(Species %like% "%osa%")
Run Code Online (Sandbox Code Playgroud)
分别.
详情见vignette("sql-translation").
| 归档时间: |
|
| 查看次数: |
2190 次 |
| 最近记录: |