mask(col, upperChar, lowerChar, digitChar, otherChar)
Описание
Функция mask()
маскирует строку, заменяя символы на указанные маскирующие символы в зависимости от их типа.
Параметры
col
: Column - столбец со строками для маскированияupperChar
: String (опционально) - символ для замены заглавных букв (по умолчанию 'X')lowerChar
: String (опционально) - символ для замены строчных букв (по умолчанию 'x')digitChar
: String (опционально) - символ для замены цифр (по умолчанию 'n')otherChar
: String (опционально) - символ для замены остальных символов (по умолчанию '-')
Возвращаемое значение
String - замаскированная строка
Пример использования
from pyspark.sql.functions import mask
from pyspark.sql import SparkSession
# Создаем SparkSession
spark = SparkSession.builder.appName("mask_example").getOrCreate()
# Создаем DataFrame
data = [
("John Doe"),
("123-45-6789"),
("email@example.com")
]
df = spark.createDataFrame(data, ["text"])
# Маскируем строки
result = df.select(
"text",
mask("text").alias("masked_default"),
mask("text", "U", "l", "d", "o").alias("masked_custom")
).show()
# Результат:
# +------------------+--------------+--------------+
# |text |masked_default|masked_custom |
# +------------------+--------------+--------------+
# |John Doe |Xxxx Xxx |Ulll lll |
# |123-45-6789 |nnn-nn-nnnn |ddd-dd-dddd |
# |email@example.com |xxxx@xxxxxx.xxx|llll@llllll.lll|
# +------------------+--------------+--------------+
Примечания
- Функция сохраняет пробелы и специальные символы
- NULL значения возвращают NULL
- Все параметры кроме
col
являются опциональными - Если параметр не указан, используется значение по умолчанию