Skip to content

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 являются опциональными
  • Если параметр не указан, используется значение по умолчанию