复制和分发数据
日志服务支持对每一个源Logstore配置一个加工任务,实现数据复制后分发到不同Logstore。本文介绍数据复制后分发到不同Logstore的典型场景和操作方法。
场景说明
某数据分析公司需要将Logstore中的每一条数据进行复制,并根据内容分别分发到两个Logstore。对此需求,可通过日志服务数据加工的复制和分发功能完成,包括使用e_set函数设置tags标签,并使用e_split函数按照tags标签将数据分裂,再使用e_output函数分发到不同Logstore。其基本逻辑如下图所示。在操作前,确保您已完成如下操作。
-
已完成target-a、target-b的性能评估和规划。例如评估Shard数量。更多信息,请参见性能指南。
-
已创建target-a、logstore-a、target-b和logstore-b。更多信息,请参见管理Project和管理Logstore。
操作步骤
-
在 全部Project 区域,单击目标Project。
-
在 日志存储 > 日志库 页签中,单击目标Logstore。
-
在查询和分析页面的右上角单击 数据加工 ,进入数据加工模式。
-
在数据加工编辑框中输入如下加工语句。
e_set("tags","target-a","target-b") e_split("tags") e_if(op_eq(v("tags"), "target-a"), e_output("target-a")) e_if(op_eq(v("tags"), "target-b"), e_output("target-b")) e_drop()
-
单击 预览数据 。
您可以看到原始日志已增加tags标签,并且tags为target-a的数据将被分发到target-a,tags为target-b的数据将被分发到target-b。
-
单击 保存数据加工 。
-
在 创建数据加工规则 页面,配置如下参数。
-
配置基本信息。
参数 说明 规则名称 数据加工规则的名称。输入test。 授权方式 授予日志服务读取源日志库中数据的权限。以默认角色为例,选择默认角色。 -
配置target-a存储目标。
参数 说明 目标名称 存储目标名称。输入target-a。 目标Region 目标Project所在地域。选择华东1(杭州)。 目标Project target-a所属的Project名称。输入target-a。 目标库 Logstore名称。输入logstore-a。 授权方式 授予日志服务读写target-a的权限。 以默认角色为例,选择默认角色。 -
配置target-b存储目标。
参数 说明 目标名称 存储目标名称。输入target-b。 目标Region 目标Project所在地域。选择华东1(杭州)。 目标Project target-b所属的Project名称。输入target-b。 目标库 Logstore名称。输入logstore-b。 授权方式 授予日志服务读写target-b的权限。 以默认角色为例,选择默认角色。 -
配置加工时间范围。
参数 说明 时间范围 加工的时间范围。 选择所有,即表示对Logstore中的数据从开始时间持续加工。 -
单击 确定 。
执行结果
-
打开target-a项目,在 日志存储 > 日志库 页签中选择logstore-a日志库,您可以看到分发过来的数据。
-
打开target-b项目,在 日志存储 > 日志库 页签中选择logstore-b日志库,您可以看到分发过来的数据。