levenshtein(col1, col2)
Описание
Функция levenshtein()
вычисляет расстояние Левенштейна между двумя строками. Расстояние Левенштейна - это минимальное количество операций вставки, удаления или замены символов, необходимых для преобразования одной строки в другую.
Параметры
col1
: Column - первая строка для сравненияcol2
: Column - вторая строка для сравнения
Возвращаемое значение
Integer - расстояние Левенштейна между строками
Пример использования
from pyspark.sql.functions import levenshtein
from pyspark.sql import SparkSession
# Создаем SparkSession
spark = SparkSession.builder.appName("levenshtein_example").getOrCreate()
# Создаем DataFrame
data = [
("kitten", "sitting"),
("flaw", "lawn"),
("hello", "hello")
]
df = spark.createDataFrame(data, ["str1", "str2"])
# Вычисляем расстояние Левенштейна
result = df.select(
"str1",
"str2",
levenshtein("str1", "str2").alias("distance")
).show()
# Результат:
# +------+------+--------+
# |str1 |str2 |distance|
# +------+------+--------+
# |kitten|sitting|3 |
# |flaw |lawn |2 |
# |hello |hello |0 |
# +------+------+--------+
Примечания
- Расстояние Левенштейна равно 0, если строки идентичны
- Чем больше расстояние, тем больше различий между строками
- NULL значения в любом из параметров возвращают NULL
- Функция чувствительна к регистру