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