Skip to content

translate(col, matchingString, replaceString)

Описание

Функция translate() заменяет символы в строке согласно заданным правилам замены. Каждый символ из matchingString заменяется на соответствующий символ из replaceString.

Параметры

  • col: Column - столбец со строками для преобразования
  • matchingString: String - строка символов, которые нужно заменить
  • replaceString: String - строка символов, на которые нужно заменить

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

String - строка с выполненными заменами

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

from pyspark.sql.functions import translate
from pyspark.sql import SparkSession

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

# Создаем DataFrame
data = [
    ("Hello World"),
    ("Spark SQL"),
    ("Python Spark")
]
df = spark.createDataFrame(data, ["text"])

# Заменяем символы
result = df.select(
    "text",
    translate("text", "aeiou", "12345").alias("translated")
).show()

# Результат:
# +------------+-----------+
# |text        |translated |
# +------------+-----------+
# |Hello World |H2ll4 W4rld|
# |Spark SQL   |Sp1rk SQL  |
# |Python Spark|Pyth4n Sp1rk|
# +------------+-----------+

Примечания

  • Если matchingString длиннее replaceString, лишние символы удаляются
  • Если replaceString длиннее matchingString, лишние символы игнорируются
  • NULL значения возвращают NULL
  • Для замены подстрок используйте replace()
  • Для замены по регулярному выражению используйте regexp_replace()