开发者社区> 问答> 正文

如何通过数据集成将数据导入 Redis



数据集成简介


数据集成(Data Integration)是阿里集团对外提供的可跨异构数据存储系统的、可靠、安全、低成本、可弹性扩展的数据同步平台,为20多种数据源提供不同网络环境下的离线(全量/增量)数据进出通道。详细的数据源类型列表请参考 支持的数据源类型。您可以通过数据集成向云数据库 Redis 版进行数据的导入数据。

一、创建 Redis 数据源


Redis 数据源支持写入 Redis 的通道,可以通过脚本模式配置同步任务 。


[backcolor=transparent]注意:

  • 只有项目管理员角色才能够新建数据源,其他角色的成员仅能查看数据源。

  • 如您想用子账号创建数据集成任务,需赋予子账号相应的权限。具体请参考:开通阿里云主账号设置子账号


操作步骤

  1. 以开发者身份进入阿里云数加平台,单击[backcolor=transparent]项目列表下对应[backcolor=transparent]项目操作栏中的[backcolor=transparent]进入工作区。

  1. 单击顶部菜单栏中[backcolor=transparent]数据集成模块的[backcolor=transparent]数据源。

  2. 单击[backcolor=transparent]新增数据源。

  3. 在[backcolor=transparent]新建数据源对话框中,选择[backcolor=transparent]数据源类型为 [backcolor=transparent]Redis。

  4. 配置 Redis 数据源的各个信息项,如下图所示。

    [backcolor=transparent]注意:若账号没有授权数据集成默认角色,需要前往 RAM 进行角色授权。

    配置项具体说明如下:

    • [backcolor=transparent]数据源名称: 由英文字母、数字、下划线组成且需以字符或下划线开头,长度不超过60个字符。

    • [backcolor=transparent]数据源描述: 对数据源进行简单描述,不得超过80个字符 。

    • [backcolor=transparent]数据源类型:当前选择的数据源类型为 Redis:有公网IP的自建数据库。

    • [backcolor=transparent]服务地址:格式为 host:port。

    • [backcolor=transparent]添加访问地址:添加访问地址,格式为 host:port。

    • [backcolor=transparent]密码:数据库对应的密码 。

  • 完成上述信息项的配置后,单击[backcolor=transparent]测试连通性。

  • 测试连通性通过后,单击[backcolor=transparent]确定。


  • 二、配置脚本模式的同步任务


    1. 以项目管理员身份进入数加管理控制台,单击[backcolor=transparent]大数据开发套件下对应[backcolor=transparent]项目操作栏中的[backcolor=transparent]进入工作区。

    2. 进入顶部菜单栏中的[backcolor=transparent]数据集成页面,选择[backcolor=transparent]脚本模式,如下图。

      [backcolor=transparent]说明:Redis 不支持向导模式。进入脚本界面你可以选择相应的模板,此模板包含了同步任务的主要参数,将相关的信息填写完整,但是脚本模式不能转化成向导模式。

    3. 在[backcolor=transparent]导入模板对话框中选择需要的[backcolor=transparent]来源类型和[backcolor=transparent]目标类型,并单击[backcolor=transparent]确认。如下图所示:

    4. 在[backcolor=transparent]脚本模式配置页面,根据自身情况进行配置,如有问题可单击右上方的 [backcolor=transparent]Redis Writer 帮助手册进行查看。如下图所示:

      [backcolor=transparent]说明: RedisWriter 脚本案例如下:{
    5. "type": "job",
    6. "configuration": {
    7. "setting": {
    8. "speed": {
    9. "concurrent": "1",//并发数
    10. "mbps": "1"//同步能达到的最大数率
    11. },
    12. "errorLimit": {
    13. "record": "0"
    14. }
    15. },
    16. "reader": {
    17. "parameter": {
    18. "splitPk": "id",//切分键
    19. "column": [
    20. "id",
    21. "name",
    22. "year"
    23. ],
    24. "table": "person",//表名
    25. "where": "",//
    26. "datasource": "px_mysql"//数据源名,建议数据源都先添加数据源后再配置同步任务,此配置项填写的内容必须要与添加的数据源名称保持一致
    27. },
    28. "plugin": "mysql"
    29. },
    30. "writer": {
    31. "parameter": {
    32. "expireTime": {
    33. "seconds": "1000"//相对当前时间的秒数,该时间指定了从现在开始多长时间后数据失效
    34. },
    35. "keyFieldDelimiter": "\u0001",//写入 redis 的 key 分隔符。比如: key=key1\u0001id,如果 key 有多个需要拼接时,该值为必填项,如果 key 只有一个则可以忽略该配置项。
    36. "writeMode": {
    37. "valueFieldDelimiter": "\u0001",//value 类型是 string 时,value 之间的分隔符,比如 value1\u0001value2\u0001value3;
    38. "type": "string",//value类型
    39. "mode": "set"//写入的模式,存储这个数据,如果已经存在则覆盖
    40. },
    41. "batchSize": "1000",//一次性批量提交的记录数大小
    42. "dateFormat": "yyyy-MM-dd HH:mm:ss",//时间格式
    43. "keyIndexes": [
    44. 0,
    45. 1
    46. ],//keyIndexes 表示源端哪几列需要作为 key(第一列是从 0 开始),如果是第一列和第二列需要组合作为 key,那么 keyIndexes 的值则为 [0,1]。
    47. "datasource": "px_redis_datasource"//数据源名,建议数据源都先添加数据源后再配置同步任务,此配置项填写的内容必须要与添加的数据源名称保持一致
    48. },
    49. "plugin": "redis"
    50. }
    51. },
    52. "version": "1.0"
    53. }



    运行结果如下:

    展开
    收起
    云栖大讲堂 2017-10-30 13:28:25 1871 0
    0 条回答
    写回答
    取消 提交回答
    问答排行榜
    最热
    最新

    相关电子书

    更多
    Redis集群演化的心路历程——从2.x到3.0时代 立即下载
    微博的Redis定制之路 立即下载
    云数据库Redis版的开源之路 立即下载