【发布时间】:2019-02-06 02:18:27
【问题描述】:
我有 2 个 Spark 数据帧
library(SparkR); library(magrittr)
df1 <- createDataFrame(data.frame(var1 = c("rat", "cat", "bat")))
df2 <- createDataFrame(data.frame(var2 = c("cat3", "bat1", "dog", "toy")))
我需要使用 SparkR 的 levenshtein 函数从不同的 Spark DataFrames df1 和 df2 模糊匹配不同长度的 var1 和 var2,以便得到所需的输出。
desired_df <- createDataFrame(data.frame(var2 = c("cat3", "bat1", "dog", "toy"),
var3 = c("cat", "bat", NA_character_, NA_character_)))
我从以下代码开始:
df3 <- df2 %>% SparkR::mutate(dist = levenshtein(df2$var2, df1$var1))
但遇到错误:
org.apache.spark.sql.AnalysisException: Resolved attribute(s) var1#176 missing from var2#178 in operator !Project [var2#178, levenshtein(var2#178, var1#176) AS dist#181].;;
!Project [var2#178, levenshtein(var2#178, var1#176) AS dist#181]
请指教。
【问题讨论】:
标签: r apache-spark levenshtein-distance sparkr sparklyr