离线同步任务支持Redis数据源,支持该数据源的导入(Writer),当前支持的版本为:5.0

说明:当前支持写入redis数据源的spark版本为2.3.2。

使用前提


在使用之前需要在项目中心(新)完成Redis数据源的登记并测试通过。
数据源登记过程中,需要填写如下信息:

  • 数据源名称:Redis数据源的名称
  • 数据源标识:仅允许包含英文小写、数字、下划线,只允许英文小写开头,最大长度为64个字符。平台内唯一,保存数据源后数据标识不可修改
  • 归属项目:由于元数据中心是项目组级别,因此此处支持选择项目组下的项目,默认为当前项目名称
  • 负责人:默认为当前创建人员
  • 协助管理员:同负责人,有该数据源的管理权限,包括编辑、设置“源系统账号映射”。可在安全中心为自己或其他人设置该数据源的使用权限
  • 集群部署模式:cluster模式、single模式和sentinel模式,其中single模式和sentinel模式用于实时计算
  • host:输入host,格式为ip:port,多个host通过","分割
  • 密码:填写密码
  • 版本:5.0
  • 自定义属性:支持添加数据源的其它配置
唯一性校验规则:基于数据源连接进行校验。

数据源配置完成后,需点击测试连接按钮进行测试,测试通过后才可使用。
Redis - 图1

除了数据源需要准备之外,进行离线同步任务创建和数据源的使用都需要在安全中心-功能权限中添加相应的权限(可参考数据传输权限元数据中心权限)。

Redis作为数据去向


Redis作为数据去向需要配置如下内容:
Redis - 图2

  • 数据源:选择Redis和已经登记的数据源
  • Key索引:Key索引由自定义输入项和指定作为Key的去向端字段构成
    • 自定义输入项可选填,默认填充"{source_table}:",支持输入常量、参数、分隔符。"{source_table}:"为源表表名,当源端为多表时,取首张表的表名;当源端为FTP、HDFS时,取数据目录;当源端表由正则匹配或通配符匹配指定时,取匹配表达式。":"为{source_table}和作为Key的首个去向端字段之间的分隔符
    • 字段名称支持输入多个字段,字段间以";"分隔,字段名称与字段映射填写的去向表字段名称需保持一致
  • Key分隔符:写入Redis的Key分隔符,默认为"_",如果有多个来源表字段需要拼接时,建议填写该配置项,示例:Key=${source_table}:key1_key2。如果只有一个字段,则忽略该配置项。不可见字符请使用Unicode编码表示
  • 批量条数:一次性批量提交的记录数大小,默认为1000。该值可以极大减少数据同步系统与Redis的网络交互次数,并提升整体吞吐量,但是如果该值设置过大,会导致数据同步运行进程OOM异常,因此请根据环境合理设置
  • 缓存失效时间:Redis Key值缓存失效时间,单位为秒。如果不填该配置项,则该配置项取值默认为0,表示永久有效
  • 写入数据类型:支持string、hash两种类型
  • 写入数据格式:支持json方式写入、分隔符分隔写入两种方式。当写入数据格式为分隔符分隔写入时,需要配置写入分隔符
    • 写入分隔符:写入Redis的Value之间的分隔符。如果源数据有多列作为Value,该值为必填项,例如value1_value2。如果源数据只有1列作为Value,则忽略该配置项。不可见字符请使用Unicode编码表示。
  • 写入规则:支持upsert,当key索引冲突时,如果与原记录写入数据的类型相同就更新记录,如果不同就保持原记录