переменные, равные doublemetaphone в pyspark

#pyspark #boolean #metaphone

#pyspark #логическое значение #metaphone

Вопрос:

Я хочу использовать функцию ** «doublemetaphone» ** в моем наборе данных в ** pyspark **.
Ожидаемый результат является логическим значением: 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")))) ```
  

Ответ №1:

У меня есть находка!
Это @udf(логический тип())
Итак, вы можете использовать так: rom metaphone импортирует 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")))) ```