本文将为您介绍如何通过DataWorks采集日志数据至MaxCompute。

新建数据源

说明 根据本次实验模拟的场景,您需要分别创建OSS数据源和RDS数据源。
  • 新建OSS数据源。
    1. 单击相应工作空间后的进入数据集成
    2. 进入同步资源管理 > 数据源页面,单击新增数据源

    3. 选择数据源类型为OSS,填写新增OSS数据源对话框中的配置。

      配置 说明
      数据源名称 填写oss_workshop_log。
      数据源描述 对数据源进行简单描述。
      适用环境 勾选开发
      说明 开发环境的数据源创建完成后,需要勾选生产,以同样方式创建生产环境的数据源,否则任务生产执行会报错。
      Endpoint 填写http://oss-cn-shanghai-internal.aliyuncs.com
      Bucket 填写dataworks-workshop。
      AccessKey ID 填写LTAINEhd4MZ8pX64。
      AccessKey Secret 填写lXnzUngTSebt3SfLYxZxoSjGAK6IaF。
    4. 单击测试连通性
    5. 连通性测试通过后,单击完成
      说明
      • 如果测试连通性失败,请检查您的用户名/密码和工作空间所在区域。
      • 建议将工作空间创建在华东2,其他区域不保证网络可达。
      • 如果您无法使用内网Endpoint连接数据源,可以改用公网Endpoint。
  • 新建RDS数据源。
    1. 单击相应工作空间后的进入数据集成
    2. 进入同步资源管理 > 数据源页面,单击新增数据源
    3. 选择数据源类型MySQL,填写新增MySQL数据源对话框中的配置。

      配置 说明
      数据源类型 选择阿里云数据库(RDS)。
      数据源名称 填写rds_workshop_log。
      数据源描述 填写rds日志数据同步。
      适用环境 勾选开发
      说明 开发环境的数据源创建完成后,需要勾选生产,以同样方式创建生产环境的数据源,否则任务生产执行会报错。
      RDS实例ID

      填写rm-bp1z69dodhh85z9qa。

      RDS实例主账号ID

      填写1156529087455811。

      数据库名 填写workshop。
      用户名 填写workshop。
      密码 填写workshop#2017。
    4. 单击测试连通性
    5. 连通性测试通过后,单击完成

新建业务流程

  1. 单击左上角的图标,选择全部产品 > DataStudio(数据开发)
  2. 右键单击业务流程,选择新建业务流程

  3. 新建业务流程对话框中,填写业务流程名称描述

  4. 单击新建,即可完成业务流程的创建。

  5. 进入业务流程开发面板,并向面板中拖入1个虚拟节点(workshopstart)和2个数据同步节点(oss_数据同步和rds_数据同步)。填写相应配置后,单击提交



  6. 拖拽连线将workshop_start节点设置为2个数据同步节点的上游节点。

配置workshop_start节点

  1. 双击虚拟节点,单击右侧的调度配置
  2. 设置workshop_start节点的上游节点为工作空间根节点。
    由于新版本给每个节点都设置了输入输出节点,所以需要给workshop_start节点设置一个输入。此处设置其上游节点为工作空间根节点,通常命名为工作空间名_root。

  3. 配置完成后,单击左上角的进行保存。

新建表

  1. 右键单击业务流程workshop下的,选择新建表

  2. 新建表对话框中填写表名,单击提交

    此处需要创建2张表(ods_raw_log_d和ods_user_info_d),分别存储同步过来的OSS日志数据和RDS日志数据。

    输入表名称。
  3. 打开创建的表,单击DDL模式,分别填写以下相应的建表语句。
    --创建OSS日志对应目标表
    CREATE TABLE IF NOT EXISTS  ods_raw_log_d (
        col STRING
    )
    PARTITIONED BY (
        dt STRING
    );
    --创建RDS对应目标表
    CREATE TABLE IF NOT  EXISTS ods_user_info_d (
        uid STRING COMMENT '用户ID',
        gender STRING COMMENT '性别',
        age_range STRING COMMENT '年龄段',
        zodiac STRING COMMENT '星座'
    )
    PARTITIONED BY (
        dt STRING
    );
  4. 建表语句输入完成后,单击生成表结构确认覆盖当前操作。

  5. 返回建表页面后,在基本属性中输入表的中文名。

  6. 完成设置后,分别单击提交到开发环境提交到生产环境,提交后即可在表中查看信息。

配置数据同步任务

说明 标准项目模式下,不建议数据集任务在开发环境下运行(开发面板直接运行),建议将其发布至生产环境后再操作测试运行,以获取完整的运行日志。同时,数据产出至生产环境后,您可以申请表权限,以读取写入开发环境中的表数据。
  • 配置oss_数据同步节点。
    1. 双击oss_数据同步节点,进入节点配置页面。
    2. 选择数据来源。

      配置 说明
      数据源 选择OSS > oss_workshop_log数据源。
      Object前缀 选择user_log.txt。
      文本类型 选择text类型。
      列分隔符 选择列分隔符为(|)。
      编码格式 默认为UTF-8格式。
      null值 表示null值的字符串。
      压缩格式 包括None、Gzip、Bzip2和Zip四种类型,此处选择None。
      是否包含表头 默认为No。
    3. 选择数据去向。

      配置 说明
      数据源 选择ODPS > odps_first数据源。
      选择数据源中的ods_raw_log_d表。
      分区信息 默认配置为${bizdate}。
      清理规则 默认为写入前清理已有数据
      空字符串作为null 此处勾选
      说明 odps_first数据源写入到当前工作空间下的MaxCompute项目中。
    4. 配置字段映射,连接需要同步的字段。

    5. 配置通道控制,作业速率上限建议配置为10MB/s。

      配置 说明
      任务期望最大并发数 数据同步任务内,可以从源并行读取或并行写入数据存储端的最大线程数。向导模式通过界面化配置并发数,指定任务所使用的并行度。
      同步速率 设置同步速率可以保护读取端数据库,以避免抽取速度过大,给源库造成太大的压力。同步速率建议限流,结合源库的配置,请合理配置抽取速率。
      错误记录数 错误记录数,表示脏数据的最大容忍条数。
      任务资源组 任务运行的机器,如果任务数比较多,使用默认资源组出现等待资源的情况,建议购买独享数据集成资源或添加自定义资源组,详情请参见DataWorks独享资源新增任务资源
    6. 确认当前任务的配置情况,可以进行修改。确认无误后,单击左上角的保存
    7. 关闭当前任务,返回业务流程配置面板。
  • 配置rds_数据同步节点。
    1. 双击rds_数据同步节点,进入节点配置页面。
    2. 选择数据来源。

      配置 说明
      数据源 选择MySQL > rds_workshop_log数据源。
      选择数据源中的ods_user_info_d表。
      数据过滤 该数据过滤语句通常用作增量同步,此处可不填。
      切分键 默认为uid。
    3. 选择数据去向。

      配置 说明
      数据源 选择ODPS > odps_first数据源。
      选择数据源中的ods_user_info_d表。
      分区信息 默认配置为${bizdate}。
      清理规则 默认为写入前清理已有数据
      空字符串作为null 此处勾选
    4. 配置字段映射,默认同名映射。

    5. 配置通道控制,作业速率上限建议配置为10MB/s。

    6. 确认当前任务的配置情况,可以进行修改。确认无误后,单击左上角的保存

    7. 关闭当前任务,返回业务流程配置面板。

提交工作流任务

  1. 单击左上角的提交按钮,提交当前业务流程。

  2. 选择提交对话框中需要提交的节点,填写备注,勾选忽略输入输出不一致的告警。单击提交,待显示提交成功即可。

运行工作流任务

  1. 单击运行

  2. 右键选中rds_数据同步任务,选择查看日志
    当日志中出现如下字样,表示同步任务运行成功,并成功同步数据。

  3. 右键选中oss_数据同步任务,选择查看日志,确认方法与rds_数据同步任务一致。

确认数据是否成功导入MaxCompute

  1. 单击左侧导航栏中的临时查询
  2. 选择新建 > ODPS SQL

  3. 编写并执行SQL语句,查看导入ods_raw_log_d和和ods_user_info_d的记录数。
    说明 SQL语句如下所示,其中分区列需要更新为业务日期。例如,任务运行的日期为20180717,则业务日期为20180716。
    --查看是否成功写入MaxCompute
    select count(*) from ods_raw_log_d where dt=业务日期;
    select count(*) from ods_user_info_d where dt=业务日期;


后续步骤

现在,您已经学习了如何进行日志数据同步,完成数据的采集,您可以继续学习下一个教程。在该教程中您将学习如何对采集的数据进行计算与分析。详情请参见数据加工:用户画像