遮罩

遮蔽給定字串值。 這對於建立移除敏感資訊的資料表副本非常有用。

關於對應的 Databricks SQL 函式,請參見 mask 函數。

語法

from pyspark.sql import functions as dbf

dbf.mask(col=<col>, upperChar=<upperChar>, lowerChar=<lowerChar>, digitChar=<digitChar>, otherChar=<otherChar>)

參數

參數 類型 Description
col pyspark.sql.Column 或 str 計算目標欄位。
upperChar pyspark.sql.Column 或 str, optional 用來替換大寫字母。 請指定 NULL 以保留原始字元。
lowerChar pyspark.sql.Column 或 str, optional 用來替換小寫字母。 請指定 NULL 以保留原始字元。
digitChar pyspark.sql.Column 或 str, optional 用來替換數字字元。 請指定 NULL 以保留原始字元。
otherChar pyspark.sql.Column 或 str, optional 用來替換所有其他角色。 請指定 NULL 以保留原始字元。

退貨

pyspark.sql.Column:

範例

df = spark.createDataFrame([("AbCD123-@$#",), ("abcd-EFGH-8765-4321",)], ['data'])
df.select(mask(df.data).alias('r')).collect()
df.select(mask(df.data, lit('Y')).alias('r')).collect()
df.select(mask(df.data, lit('Y'), lit('y')).alias('r')).collect()
df.select(mask(df.data, lit('Y'), lit('y'), lit('d')).alias('r')).collect()
df.select(mask(df.data, lit('Y'), lit('y'), lit('d'), lit('*')).alias('r')).collect()