全部产品
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
业务实时监控服务 ARMS

映射表使用最佳实践

更新时间:2018-01-22 00:28:59

本文介绍了关于映射表使用的最佳实践。

映射表用于用户存储静态数据,其主要功能包括:

  • 清洗日志后,对清洗出的字段进行静态 Join 操作来获取需要的目标字段。
  • 在进行数据集查询时,可以结合维表进行组合查询。

静态 Join 案例

新建与使用映射表

假设用户日志格式如下:

  1. 2017-01-09 16:02:49|42.**.**.**|Kevin.yang

下图为原始切分逻辑,切分后的字段分别为 date、ip、username。

原始切分

现在业务需求是统计每分钟每个国家的用户访问量,但是切分模型没有相关的国家字段。此时通过映射表可以进行 Join,映射表中保存了 IP 与国家、省份、城市的映射关系。下图为结合映射表之后的逻辑:

JOIN

在上图中,国家、省份、城市这三个字段已根据原始的 IP 字段获得,那么“映射表 ID”是怎么设置的呢?

  1. 在控制台左侧菜单栏中选择自定义监控 > 映射表管理,进入映射表管理页面。在页面右上角单击新建映射表

  2. 新建映射表对话框中填写映射表名称。

    新建映射表

  3. 填写映射表的 Schema 信息:针对上述需求 IP 转化为国家、省份与城市,其 Schema 信息相当于源字段信息(名称、类型)与目标字段信息(名称、类型)的映射关系。

    注意:仅支持 String、Long、Double 类型。

  4. 选择映射表的资源类型(目前只支持文本类型 TEXT,后续会支持其他接入方式)。

  5. 如果映射表的类型为文本类型,需要添加文本内容,文本内容可以参考样例数据进行录入。如图,针对上述需求,文本中只录入了 IP 的映射关系,文本内容必须严格按照 Schema 设定的形式,否则无法保存。

  6. 映射表保存后,系统生成一个唯一的维表 ID ,填入上述的积木块中即可。

更新映射表数据

针对上述案例,用户可能会问,刚刚映射表中的文本中只配置了 IP 为 42.**.**.** 的映射关系,用户的上述任务已经运行起来了,但是实际日志中包含其他 IP,利用刚才建立的映射表进行静态 Join 岂不是有问题?

不用担心,用户无需停止任务,只需要更新映射表里面的文本数据即可。

更新

  • 修改映射表时,映射表的 Schema 与资源类型不能修改。

  • 当资源类型为文本类型时,修改文本内容即可。

基于映射表进行数据集的组合查询

在控制台左侧菜单栏中选择自定义监控 > 数据集管理,单击右侧的数据查询

下面演示一个简单的示例:

444

以上数据集存在维度 _hostIp ,选择下钻,其结果如下所示:

555

现在需要查询各个省份、地址的详细数据,该怎么做?只需要对 _hostIp 进行 Join 查询即可,因为我们已经在自己的维表中配置可 IP 到地区的详细映射关系。

666

查询后的详细数据如下:

666

注意: 目前组合查询只支持维度的 Join,其他字段暂不支持。

本文导读目录