新建静态脱敏任务

·          执行静态脱敏的源数据表必须已注册为离线表。

·          当前仅支持MySQLPostgreSQLOracleHiveGreenplum、达梦和Vertica类型数据源中的表进行静态脱敏,且表中待脱敏字段的类型必须为静态脱敏功能支持的类型(静态脱敏支持的字段类型请参见静态脱敏支持字段说明)。

·          若对源表的主键约束字段设置了脱敏算法,且对应字段在目标表上保留主键约束,可能会产生脱敏后数据相同导致数据写入失败的问题。针对该问题的解决方案(两种方法任选一种)为:删除目标表上的所有主键约束;或取消对源表的主键字段进行脱敏。

 

  1. 在静态脱敏页面中,单击列表左上方的<新建>按钮,进入创建静态脱敏任务页面。

  1. 配置任务的名称和描述信息。

  1. 单击<下一步>按钮,进入源/目标配置页面。

  1. 配置源端参数,选择数据源类型、数据源及数据源中的数据表。

  1. 配置目标端参数,参数的说明请参见下表。

表-1 /目标配置参数

参数分类

参数名称

说明

源端配置

数据源类型

选择数据源类型

数据源

选择待脱敏处理的数据表所属的数据源

源表名

指定需要脱敏处理的数据表

目标端配置

导出类型

选择脱敏后数据导出的类型:

  • TABLE表示导出到数据表中,需要指定目标表的数据源、目标表、写入模式及待脱敏数据的抽取类型

  • HDFS表示导出到HDFS的文件中,需要指定HDFS目录、数据内容的分隔符及数据写入的模式

数据源

选择存储脱敏后数据的数据源。导出类型为TABLE时,需配置该参数

目标表是否存在

导出类型为TABLE时,需配置该参数

  • 选择“是”表示向已存在的表中存储数据,此时需确保目标表中对应源表脱敏字段的字段为字符串类型

  • 选择“否”表示根据配置的目标表名新建一张表存储数据,该新建的表中,对应源表脱敏字段的字段将全部被设置为字符串类型

目标表名

导出类型为TABLE时,需配置该参数

配置存储脱敏后数据的具体表名。如需放入已存在的表中,请确认此处指定的表名与实际的表名一致。

HDFS目录

选择脱敏后数据文件的保存路径。导出类型为HDFS时,需配置该参数

数据分隔符

指定脱敏数据写入文件时的字段分隔符。导出类型为HDFS时,需配置该参数

脱敏方式

抽取类型

选择抽取源数据表中数据的类型,支持全量和增量:

  • 全量:获取源表中全量数据,进行脱敏处理后写入目标表中

  • 增量:获取源表在上次静态脱敏操作后新增的数据,进行脱敏处理后写入目标表。如选择增量抽取,为实现增量识别,需指定增量字段(仅特定类型的字段可以作为增量字段,详情请参见静态脱敏支持字段说明),在启动脱敏任务时,系统会自动获取指定增量字段在目标表中的最大值,并以该值对应源表中的相同值作为起始位置,从源表中获取增量数据

目标端导出类型为TABLE时,需配置该参数

增量字段

选取作为增量抽取依据的字段,仅支持选取数值、日期、时间戳类型的字段

抽取类型为增量时,需配置该参数

写入模式

选择脱敏后数据的写入方式:

  • 追加:导出类型为Table(导出到表)时,表示在表中原有数据后追加;导出类型为HDFS(导出到文件)时,表示在选择的目录中追加

  • 覆盖:导出类型为Table(导出到表)时,表示覆盖表中原有数据;导出类型为HDFS(导出到文件)时,表示清空目录后再写入

 

当抽取方式选择增量时,有如下说明:

·          当目标表已存在数据时,如对目标表执行了清空表操作,可能会导致相关的增量脱敏任务下次启动时,无法获取数据起始位置,进而对源表重新进行全量脱敏处理。

·          在涉及数据同步至源表的场景中,可能存在数据同步延迟,此时若直接使用数据产生时间作为增量字段,进行增量脱敏,可能会出现数据遗漏的情况。为应对该类问题,建议将数据接入时间作为增量字段,以确保能完整获取增量数据。该建议同样适用于相同应用场景下将主键等其他字段作为增量字段的静态脱敏任务。

·          抽取类型选择增量脱敏的静态脱敏任务,在启动后,源表中增量字段为空的行,不会进行脱敏操作,也不会将该行数据迁移至目标表。

 

  1. 单击<下一步>按钮,进入脱敏策略页面。

  1. 页面中展示了源数据表中各字段,可以分别指定各字段的识别规则,并配置是否脱敏及对应的脱敏算法(脱敏方式)。此外,也可以选择预先配置的脱敏策略(需先在数据脱敏规则中创建完成,详细操作请参见新建脱敏策略。),脱敏策略会自动适配符合的字段。进行脱敏算法处理后,源表中的字段类型均会在目标表中被对应转换为字符串(varchar)类型。

  1. 单击<下一步>按钮,进入数据水印配置页面。

  1. 配置水印信息,打开控件可配置水印嵌入参数,关闭控件则不需要配置水印嵌入参数。配置信息说明参考下表。

表-2 水印信息参数说明

参数名称

说明

水印嵌入字段

选择需要嵌入的字段,目前支持数值类型和字符类型的字段进行水印的嵌入

字段类型

显示选择嵌入字段的字段类型

水印策略

选择水印策略,目前支持如下两种水印策略

  • 依赖主键列

  • 不依赖主键列

主键列

当选择依赖主键的水印策略时,需要选择主键列,默认填充当前源表的主键列,针对不存在主键的表,可以选择字符或者数值类型的列作为临时主键使用

水印算法

水印算法选择

  • 字符类型字段:零宽度空格算法

  • 数值类型字段:最低有效位修改算法

水印信息

需要嵌入的水印信息

 

  1. 单击<下一步>按钮,进入参数配置页面。

  1. 配置脱敏任务执行相关的参数,详细说明请参见下表。

表-3 执行参数说明

参数名称

说明

执行引擎

静态脱敏任务通过Spark进行处理,不支持配置

执行队列

执行静态脱敏任务的队列

Executor核数

配置Spark单个Executor执行需要的内核个数。内核数越多,执行性能越高。通常保持默认配置即可,当实际场景中任务执行速度较慢时,可以调高该参数

内存(MB

配置Spark单个Executor执行需要的内存大小。内存越大,执行性能越高。通常保持默认配置即可,当实际场景中任务执行速度较慢时,可以调高该参数

Driver核数

配置Spark driver程序执行需要的内核个数。内核数越多,执行性能越高。通常保持默认配置即可,当实际场景中任务执行速度较慢时,可以调高该参数

内存(MB

配置Spark driver程序执行需要的内存大小。内存越大,执行性能越高。通常保持默认配置即可,当实际场景中任务执行速度较慢时,可以调高该参数

实例数

配置Spark任务执行需要的Executor的实例个数。可根据实际场景业务需求调整,通常使用默认配置即可

堆外内存

配置Spark任务的Executor程序堆外内存大小。可根据实际场景业务需求调整,通常使用默认配置即可

Driver堆外内存

配置Spark driver程序执行需要的堆外内存大小。可根据实际场景业务需求调整,通常使用默认配置即可

sparkOpts

配置Spark的规格参数。输入框中存在缺省的配置值,可以根据实际需求调整。如运行SparkSQL还需要其他Spark相关的配置项均可在此处点击添加。需要删除则点击。缺省值的介绍如下:

  • spark.sql.hive.convertMetastoreParquet:当需要从Hive类型数据源的数据表中读取数据,以及向Hive类型数据源的非分区数据表中写入数据时,是否启用SparkSQL自带的Parquet支持库来替代HiveSerDe进行序列化/反序列化,以获得更好的性能。默认为false,不开启;true表示开启

  • spark.sql.autoBroadcastJoinThreshold:当执行join时,被广播到worker节点上表最大字节。默认10485760,单位为字节,配置自动广播的数据量大小。如果设置成-1,则禁用该特性

  • spark.dynamicAllocation.maxExecutors:动态分配最大executor个数,默认设置30个。可根据实际需求调整

configuration

指定Mapper类和Reducer类等MapReduce客户端配置参数。支持配置多项,点击后方的图标可以新增一项,点击图标可以删除一项

出错重跑

任务执行过程中出错时,是否重新执行

 

  1. 单击<完成>按钮,操作完成。

静态脱敏任务创建完成后,可以通过初始化操作生成业务流程,在调度中心中统一调度管理,生成业务流程的操作请参见初始化静态脱敏任务