在Spark中工作时,``stringr::str_detect``的替代方法
我在RStudio的本地设备上工作了几年,最近开始使用Spark(3.0.1版)。我试图在Spark中运行在Spark中工作时,``stringr::str_detect``的替代方法,r,apache-spark,stringr,sparklyr,R,Apache Spark,Stringr,Sparklyr,我在RStudio的本地设备上工作了几年,最近开始使用Spark(3.0.1版)。我试图在Spark中运行stringr::str_detect()时遇到了意外问题。显然,str\u detect()在SQL中没有等效项。我正在寻找另一种选择,最好是在R 下面是一个在Spark中运行str_detect()local时的预期结果示例 # Load packages library(dplyr) library(stringr) library(sparklyr) # Example tibbl
stringr::str_detect()
时遇到了意外问题。显然,str\u detect()
在SQL中没有等效项。我正在寻找另一种选择,最好是在R
下面是一个在Spark中运行str_detect()
local时的预期结果示例
# Load packages
library(dplyr)
library(stringr)
library(sparklyr)
# Example tibble
df <- tibble(foodtype = c("potatosalad", "potato", "salad"))
df
---
# A tibble: 3 x 1
foodtype
<chr>
1 potatosalad
2 potato
3 salad
---
# Expected result when using R
df %>%
mutate(contains_potato = str_detect(foodtype, "potato"))
---
# A tibble: 3 x 2
foodtype contains_potato
<chr> <lgl>
1 potatosalad TRUE
2 potato TRUE
3 salad FALSE
---
#加载包
图书馆(dplyr)
图书馆(stringr)
图书馆(年)
#示例tibble
df%
突变(包含马铃薯=str检测(食物类型,“马铃薯”))
---
#一个tibble:3x2
foodtype包含\u土豆
1波塔托沙拉是真的
真的吗
3沙拉假
---
但是,当我在Spark数据帧上运行此代码时,它返回以下错误消息:“error:str_detect()在此SQL变体中不可用”
#连接到本地Spark群集
scstr_detect()
相当于Spark的rlike
功能。
我不将spark与R一起使用,但类似的东西应该可以工作:
df_spark %>% mutate(contains_potato = foodtype %rlike% "potato")
dplyr
在没有dplyr等价物时接受作为R函数编写的Spark函数:
df_spark %>% mutate(contains_potato = rlike(foodtype, "potato"))
谢谢@Blackishop!我对你的答案进行了一些编辑,以包含“类似R”的书面代码(没有双关语)。
df_spark %>% mutate(contains_potato = rlike(foodtype, "potato"))