本文将为您介绍如何通过DataWorks,将已经采集至MaxCompute的日志数据进行加工并进行用户画像。

前提条件

开始本实验前,请首先完成数据采集:日志数据上传中的操作。

新建数据表

您可以参见数据采集:日志数据上传新建数据表。

  • 新建ods_log_info_d表
    1. 右键单击业务流程workshop中的,单击新建表,输入表名称ods_log_info_d。
    2. 单击DDL模式,输入建表语句。
      CREATE TABLE IF NOT EXISTS ods_log_info_d (
        ip STRING COMMENT 'ip地址',
        uid STRING COMMENT '用户ID',
        time STRING COMMENT '时间yyyymmddhh:mi:ss',
        status STRING COMMENT '服务器返回状态码',
        bytes STRING COMMENT '返回给客户端的字节数',
        region STRING COMMENT '地域,根据ip得到',
        method STRING COMMENT 'http请求类型',
        url STRING COMMENT 'url',
        protocol STRING COMMENT 'http协议版本号',
        referer STRING COMMENT '来源url',
        device STRING COMMENT '终端类型 ',
        identity STRING COMMENT '访问类型 crawler feed user unknown'
      )
      PARTITIONED BY (
        dt STRING
      );
    3. 完成输入后,单击生成表结构,直至返回DDL解析成功

    4. 填写表的中文名,单击提交到开发环境提交到生产环境。提交完成后,即可在表中查看相应信息。
  • 新建dw_user_info_all_d表
    新建dw_user_info_all_d表的方法和表ods_log_info_d一致,建表语句如下所示:
    --创建dw_user_info_all_d表
    CREATE TABLE IF NOT EXISTS dw_user_info_all_d (
      uid STRING COMMENT '用户ID',
      gender STRING COMMENT '性别',
      age_range STRING COMMENT '年龄段',
      zodiac STRING COMMENT '星座',
      region STRING COMMENT '地域,根据ip得到',
      device STRING COMMENT '终端类型 ',
      identity STRING COMMENT '访问类型 crawler feed user unknown',
      method STRING COMMENT 'http请求类型',
      url STRING COMMENT 'url',
      referer STRING COMMENT '来源url',
      time STRING COMMENT '时间yyyymmddhh:mi:ss'
    )
    PARTITIONED BY (
      dt STRING
    );
  • 新建rpt_user_info_d表
    新建rpt_user_info_d表的方法和表ods_log_info_d,建表语句如下所示:
    --创建rpt_user_info_d表
    CREATE TABLE IF NOT EXISTS rpt_user_info_d (
      uid STRING COMMENT '用户ID',
      region STRING COMMENT '地域,根据ip得到',
      device STRING COMMENT '终端类型 ',
      pv BIGINT COMMENT 'pv',
      gender STRING COMMENT '性别',
      age_range STRING COMMENT '年龄段',
      zodiac STRING COMMENT '星座'
    )
    PARTITIONED BY (
      dt STRING
    );
    						

业务流程设计

业务流程workshop及依赖关系的配置可以参见数据采集:日志数据上传。向画布中拖入三个ODPS SQL节点,依次命名为ods_log_info_d、dw_user_info_all_d和rpt_user_info_d,并配置如下图所示的依赖关系。

创建用户自定义函数

  1. 下载ip2region.jar
  2. 右键单击资源,选择新建资源 > JAR

  3. 单击选择文件,选择已经下载到本地的ip2region.jar,单击提交

  4. 资源上传至DataWorks后,单击提交

  5. 右键单击函数,选择新建函数

  6. 输入函数名称getregion,选择所属的业务流程,单击提交

  7. 填写注册函数对话框的配置,单击保存提交

    配置 说明
    函数类型 选择函数类型。
    函数名 填写getregion。
    责任人 选择责任人。
    类名 填写org.alidata.odps.udf.Ip2Region。
    资源列表 填写ip2region.jar。
    描述: 填写IP地址转换地域。
    命令格式 填写getregion(‘ip’)。