pyspark - 变量等于pyspark上的doublemetaphone
问题描述
我想在 **pyspark** 上的数据集上使用函数 **"doublemetaphone"**。
期望结果是一个布尔值:TRUE 或 FALSE。
但是 *@udf("bool")* 不起作用,还有其他方法吗?
from metaphone import doublemetaphone
@udf("bool")
def udf_doublemetaphone(a,b):
return doublemetaphone(a)== doublemetaphone(b)
data_set_doublemetaphone = (data_set.withColumn("doublemetaphone",
udf_doublemetaphone(col("A"),col("B")))) ```
解决方案
我找到了!
这是@udf(BooleanType())
所以你可以这样使用: rom metaphone import doublemetaphone
@udf(BooleanType())
def udf_doublemetaphone(a,b):
return doublemetaphone(a)== doublemetaphone(b)
data_set_doublemetaphone = (data_set.withColumn("doublemetaphone",
udf_doublemetaphone(col("A"),col("B")))) ```
推荐阅读
- python - 每次尝试加载页面并循环通过代理
- java - “错误类型 3 错误:Activity 类 {} 不存在”,错误类型 3 Activity 类不存在“同时启动 Activity
- c++ - c_str() 只读取我的字符串的一半,为什么?我怎样才能解决这个问题?是字节问题吗?
- docker - 我应该如何将需要 apache/php/mysql 的应用程序与经过身份验证的公共站点体验进行容器化?
- r - 在闪亮中使用 updatePickerInput 更新 pickerInput
- elm - 如何更新 Elm 中的联合类型?
- python - re.sub 的 repl 表达式中不能调用 capture-group 上的函数?例如 int(r'\1')
- excel - 转置工作表并排序以生成两个视图(原始视图和转置视图)
- python - 如何在 C++ 中从 python 执行 string.format()?
- pandas - 在具有混合 dtypes 的数据框中分配整数值的问题