离线同步任务支持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索引冲突时,如果与原记录写入数据的类型相同就更新记录,如果不同就保持原记录