通过数据同步功能同步SLS数据

更新时间:

通过数据同步功能,您可以将SLS中指定时间点之后产生的数据实时同步至云原生数据仓库 AnalyticDB MySQL 版集群,以满足日志数据实时分析的需求。

前提条件

注意事项

目前AnalyticDB for MySQL集群中的一张表仅支持同步日志服务中的一个Logstore。若您需要同步多个Logstore,请创建多个数据表。

费用说明

按照数据同步链路使用的ACU数按量收取ACU弹性资源费用。计费详情,请参见产品定价

操作步骤

您可以通过日志服务控制台和AnalyticDB for MySQL控制台创建同步任务,其区别如下:

  • 通过日志服务控制台创建同步任务:仅支持导入同一阿里云账号的SLS数据,您只需手动创建数据同步链路,系统将根据创建同步链路时填写的SLS ProjectSLS logstore参数自动创建SLS数据源。

  • 通过AnalyticDB for MySQL控制台创建同步任务:支持跨阿里云账号导入SLS数据,您需按顺序操作,首先创建SLS数据源,然后基于该数据源再创建同步链路。

日志服务控制台创建同步任务

步骤一:创建数据源及同步链路

  1. 登录日志服务控制台

  2. Project列表区域,单击目标Project,在左侧导航栏单击image,进入日志库页签,依次展开目标Logstore下的页签。

  3. 单击数据处理 > 导出,单击AnalyticDB右侧的+

  4. 在弹出的投递提示对话框中选择前往ADB控制台创建

    image

  5. ADB for MySQL 日志同步页面配置数据源及目标端配置目标库表配置同步配置

    • 数据源及目标端配置的参数说明如下:

      参数名称

      参数说明

      数据链路名称

      数据链路名称。系统默认按数据源类型与当前时间生成名称,可按需修改。

      SLS Project

      SLSProject。

      SLS Logstore

      SLSLogstore。

      目标ADB实例

      选择AnalyticDB for MySQL集群。

      ADB账号

      AnalyticDB for MySQL集群的数据库账号。

      ADB密码

      AnalyticDB for MySQL集群数据库账号的密码。

    • 目标库表配置的参数说明如下:

      参数名称

      参数说明

      库名

      AnalyticDB for MySQL集群的数据库名称。

      表名

      AnalyticDB for MySQL集群的数据表名称。

      源端数据预览

      单击点击查看最近10LogStore数据,可以查看源端SLS10条数据。

      Schema字段映射

      AnalyticDB for MySQL集群表的字段自动填充目标字段源字段。如果目标字段源字段的映射关系不正确,请手动修改。

      例如:AnalyticDB for MySQL集群数据表的字段名为name,源端SLS数据字段名为user_name,系统会自动以name填充源字段目标字段,此时您需要手动修改源字段user_name。

    • 同步配置的参数说明如下:

      参数名称

      参数说明

      投递起始位点

      同步任务启动时会从选择的时间点开始消费SLS数据。

      例如:投递起始位点选择为2024-04-09 13:10,系统则会从20244913:10之后的第一条数据开始消费。

      脏数据处理模式

      同步数据时,若目标表中的字段类型与源端实际同步的SLS数据类型不匹配,则会导致同步失败。例如源端的数据是abc,而目标表中的字段类型是int,此时会因为无法转换而导致同步异常。

      脏数据处理模式取值如下:

      • 中断同步(默认值):数据同步终止,您需修改目标表的字段类型或修改为其他脏数据处理模式,再重启同步任务。

      • NULL处理:脏数据按NULL值写入目标表,并丢弃脏数据。

        例如:SLS一行数据有3个字段(col1、col2、col3),其中col2字段为脏数据,则col2字段数据转为NULL值写入,col1、col3字段数据正常写入。

      Unix时间戳转datetime

      SLS源字段是Unix时间戳(例如1710604800),而目标字段类型是DATETIMETIMESTAMP,需开启此功能进行转换。开启后,您可根据SLS数据的时间戳精度选择秒级精度时间戳毫秒级精度时间戳微秒级精度时间戳

      Job型资源组

      选择执行增量同步任务的Job型资源组。

      重要

      AnalyticDB for MySQL集群为企业版、基础版或湖仓版时,填写该参数。

      增量同步所需ACU

      • 初始情况下,执行增量同步任务所使用的ACU数。固定取值为1 ACU,取值范围为[1,Job型资源计算最大资源]。

      • 同步链路创建后,AnalyticDB for MySQL会根据业务负载,自动弹性调整执行增量同步任务所使用的ACU数,最大为64 ACU,最小为1 ACU。

      重要

      AnalyticDB for MySQL集群为企业版、基础版或湖仓版时,填写该参数。

  6. 参数配置完成后,单击提交

    此时,系统会自动在AnalyticDB for MySQL中创建SLS数据源和数据同步链路,并自动跳转至AnalyticDB for MySQL控制台的SLS/Kafka数据同步页面

步骤二:启动同步任务

  1. 单击目标数据链路操作列的启动

  2. 启动后,单击右上角查询,状态变为正在运行即数据同步任务启动成功。

步骤三:管理同步任务

您可以在操作列执行以下操作:

操作按钮

说明

启动

启动数据同步作业。

执行详情

查看数据同步作业的详情,包括源和目的配置信息,运行日志以及运行监控。

编辑

可以编辑作业的起始位点,字段映射等。

暂停

暂停数据同步作业。暂停后的作业可以再次点击启动恢复同步,恢复同步会自动从暂停时所处的位点继续同步。

删除

删除数据同步作业。删除后无法恢复,请谨慎操作。

AnalyticDB for MySQL控制台创建同步任务

步骤一:配置RAM授权(可选)

说明

如果您仅同步当前阿里云账号下的SLS数据,可跳过该步骤,直接新建数据源。具体操作,请参见步骤二:新建数据源

跨账号同步SLS数据到AnalyticDB for MySQL时,您需要在源端创建RAM角色,并为RAM角色精确授权、修改RAM角色的信任策略。

  1. 创建RAM角色。具体操作,请参见创建可信实体为阿里云账号的RAM角色

    说明

    配置选择信任的云账号参数时,选择其他云账号,填写AnalyticDB for MySQL集群所属的阿里云账号ID。您可以登录账号中心,在概览页面查看账号ID

  2. 通过精确授权,为RAM角色授予AliyunAnalyticDBAccessingLogRolePolicy权限。

  3. 修改RAM角色的信任策略,允许指定阿里云账号下的AnalyticDB for MySQL集群可以扮演该RAM角色。

    {
      "Statement": [
        {
          "Action": "sts:AssumeRole",
          "Effect": "Allow",
          "Principal": {
            "RAM": [
                "acs:ram::<阿里云账号ID>:root"
            ],
            "Service": [
                "<阿里云账号ID>@ads.aliyuncs.com"
            ]
          }
        }
      ],
      "Version": "1"
    }
    说明

    阿里云账号ID为步骤1填写的AnalyticDB for MySQL集群所属的阿里云账号ID,配置时无需填写尖括号(<>)。

步骤二:新建数据源

说明

如果您已添加了SLS数据源,可跳过该步骤,直接新建同步链路,详情请参见步骤三:创建同步链路

  1. 登录云原生数据仓库AnalyticDB MySQL控制台,在左上角选择集群所在地域。在左侧导航栏,单击集群列表,然后单击目标集群ID。

  2. 在左侧导航栏,单击SLS数据接入 > 数据源管理

  3. 单击右上角的新建数据源

  4. 新建数据源页面进行参数配置。参数说明如下表所示:

    参数名称

    参数说明

    数据源类型

    选择数据源类型SLS

    数据源名称

    系统默认按数据源类型与当前时间生成名称,可按需修改。

    数据源描述

    数据源备注描述,例如应用场景、应用业务限制等。

    部署模式

    目前仅支持阿里云实例

    SLS Project所在地域

    SLS Project所在地域。

    说明

    目前仅支持选择AnalyticDB for MySQL集群所在地域。

    是否跨阿里云主账号

    AnalyticDB for MySQL集群支持同步相同阿里云账号或其他阿里云账号(跨账号)的SLS数据。

    • 不跨账号:同步当前阿里云账号下的SLS数据到AnalyticDB for MySQL集群。

    • 跨账号:同步其他阿里云账号下的SLS数据到AnalyticDB for MySQL集群。选择跨账号同步数据时,您需要配置RAM授权,并填写跨阿里云主账号跨阿里云主账号角色名。配置RAM授权的具体操作,请参见配置RAM授权

      说明
      • 跨阿里云主账号:SLS Project所属的阿里云账号ID。

      • 跨阿里云主账号角色名:SLS Project所属阿里云账号下的RAM角色。即配置RAM授权步骤1创建的RAM角色。

    SLS Project

    源端SLSProject。

    SLS Logstore

    源端SLSLogstore。

  5. 参数配置完成后,单击创建

步骤三:创建同步链路

  1. 在左侧导航栏,单击SLS数据接入 > 数据同步

  2. 单击右上角的新建同步链路

  3. 新建同步链路页面,配置数据源及目标端配置目标库表配置同步配置,参数说明如下表:

    • 数据源及目标端配置的参数说明如下:

      参数名称

      参数说明

      数据链路名称

      数据链路名称。系统默认按数据源类型与当前时间生成名称,可按需修改。

      数据源

      选择已有的SLS数据源,也可新建数据源。

      目标端类型

      • 企业版、基础版及湖仓版集群此处选择数仓-ADB存储

      • 数仓版集群无需填写该参数。

      ADB账号

      AnalyticDB for MySQL集群的数据库账号。

      ADB密码

      AnalyticDB for MySQL集群数据库账号的密码。

    • 目标库表配置的参数说明如下:

      参数名称

      参数说明

      库名

      AnalyticDB for MySQL集群的数据库名称。

      表名

      AnalyticDB for MySQL集群的数据表名称。

      源端数据预览

      单击点击查看最近10LogStore数据,可以查看源端SLS10条数据。

      Schema字段映射

      AnalyticDB for MySQL集群表的字段自动填充目标字段源字段。如果目标字段源字段的映射关系不正确,请手动修改。

      例如:AnalyticDB for MySQL集群数据表的字段名为name,源端SLS数据字段名为user_name,系统会自动以name填充源字段目标字段,此时您需要手动修改源字段user_name。

    • 同步配置的参数说明如下:

      参数名称

      参数说明

      投递起始位点

      同步任务启动时会从选择的时间点开始消费SLS数据。

      例如:投递起始位点选择为2024-04-09 13:10,系统则会从20244913:10之后的第一条数据开始消费。

      脏数据处理模式

      同步数据时,若目标表中的字段类型与源端实际同步的SLS数据类型不匹配,则会导致同步失败。例如源端的数据是abc,而目标表中的字段类型是int,此时会因为无法转换而导致同步异常。

      脏数据处理模式取值如下:

      • 中断同步(默认值):数据同步终止,您需修改目标表的字段类型或修改为其他脏数据处理模式,再重启同步任务。

      • NULL处理:脏数据按NULL值写入目标表,并丢弃脏数据。

        例如:SLS一行数据有3个字段(col1、col2、col3),其中col2字段为脏数据,则col2字段数据转为NULL值写入,col1、col3字段数据正常写入。

      Unix时间戳转datetime

      SLS源字段是Unix时间戳(例如1710604800),而目标字段类型是DATETIMETIMESTAMP,需开启此功能进行转换。开启后,您可根据SLS数据的时间戳精度选择秒级精度时间戳毫秒级精度时间戳微秒级精度时间戳

  4. 上述参数配置完成,单击提交

步骤四:启动数据同步任务

  1. 数据同步页面,选择创建成功的数据同步任务,在操作列单击启动

  2. 单击右上角查询,状态变为正在运行即数据同步任务启动成功。

步骤五:管理数据源

数据同步页面,您可以在操作列执行以下操作。

操作按钮

说明

启动

启动数据同步作业。

执行详情

查看数据同步作业的详情,包括源和目的配置信息,运行日志以及运行监控。

编辑

可以编辑作业的起始位点,字段映射等。

暂停

暂停数据同步作业。暂停后的作业可以再次点击启动恢复同步,恢复同步会自动从暂停时所处的位点继续同步。

删除

删除数据同步作业。删除后无法恢复,请谨慎操作。