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()