Skip to content

soundex(col)

Описание

Функция soundex() возвращает звуковой код строки по алгоритму Soundex. Soundex - это фонетический алгоритм для индексации имен по их звучанию.

Параметры

  • col: Column - столбец со строками для преобразования в звуковой код

Возвращаемое значение

String - звуковой код строки (4 символа: буква и 3 цифры)

Пример использования

from pyspark.sql.functions import soundex
from pyspark.sql import SparkSession

# Создаем SparkSession
spark = SparkSession.builder.appName("soundex_example").getOrCreate()

# Создаем DataFrame
data = [
    ("Robert"),
    ("Rupert"),
    ("Rubin"),
    ("Ashcraft"),
    ("Ashcroft")
]
df = spark.createDataFrame(data, ["name"])

# Получаем звуковые коды имен
result = df.select(
    "name",
    soundex("name").alias("soundex_code")
).show()

# Результат:
# +--------+------------+
# |name    |soundex_code|
# +--------+------------+
# |Robert  |R163       |
# |Rupert  |R163       |
# |Rubin   |R150       |
# |Ashcraft|A261       |
# |Ashcroft|A261       |
# +--------+------------+

Примечания

  • Soundex кодирует имена по их звучанию, поэтому похоже звучащие имена получают одинаковый код
  • Код всегда состоит из 4 символов: первая буква имени и 3 цифры
  • NULL значения возвращают NULL
  • Функция нечувствительна к регистру
  • Для сравнения строк по звучанию можно использовать levenshtein()