Skip to content

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
  • Функция чувствительна к регистру