package datamasking
Type Members
- case class DataMaskingStage0Marker(child: LogicalPlan, scan: LogicalPlan) extends LogicalPlan with UnaryNode with WithInternalChild with Product with Serializable
- case class DataMaskingStage1Marker(child: LogicalPlan) extends LogicalPlan with UnaryNode with WithInternalChild with Product with Serializable
-
case class
RuleApplyDataMaskingStage0(spark: SparkSession) extends Rule[LogicalPlan] with RuleHelper with Product with Serializable
The full data masking rule contains two separate stages.
The full data masking rule contains two separate stages.
Step1: RuleApplyDataMaskingStage0
- lookup the full plan for supported scans
- once found, get masker configuration from external column by column
- use spark sql parser to generate an unresolved expression for each masker
- add a projection with new output on the right top of the original scan if the output has changed
- Add DataMaskingStage0Marker to track the original expression and its masker expression.
Step2: Spark native rules will resolve our newly added maskers
Step3: RuleApplyDataMaskingStage1
-
case class
RuleApplyDataMaskingStage1(spark: SparkSession) extends Rule[LogicalPlan] with RuleHelper with Product with Serializable
See RuleApplyDataMaskingStage0 also.
See RuleApplyDataMaskingStage0 also.
This is the second step for data masking. It will fulfill the missing attributes that have a related masker expression buffered by DataMaskingStage0Marker.