本文为您介绍如何通过DataHub迁移日志数据至MaxCompute。

前提条件

访问MaxCompute的账号必须具备该MaxCompute中Project的CreateInstance权限和归档MaxCompute表的Desc、Alter、Update权限。

背景信息

DataHub是阿里云流式数据(Streaming Data)的处理平台。数据上传至DataHub后保存在实时表里,后续会在5分钟内通过定时任务的形式同步到MaxCompute离线表里,供离线计算使用。

您只需要创建DataHub Connector,指定相关配置,即可创建将Datahub中流式数据定期归档到MaxCompute的同步任务。

操作步骤

  1. 执行建表语句在MaxCompute客户端中创建表,用于存储DataHub同步的日志数据。示例语句如下。
     CREATE TABLE test(f1 string, f2 string, f3 double) partitioned by (ds string);
  2. 创建Project。
    1. 登录DataHub控制台,单击右上角创建Project
    2. 创建DataHub的Project页面填写Project的名称描述,然后单击创建
  3. 创建Topic。
    1. 项目列表区域,单击选中Project后的查看,进入Project详情页面。
    2. 单击右上角创建Topic,进入创建Topic页面,填写配置参数。配置参数说明请参见文本框后的
      说明
      • Schema与MaxCompute表为对应关系,DataHub Topic shcema的字段名称、类型、顺序必须与MaxCompute表字段完全一致,如果三个条件中的任意一个不满足,则DataConnector创建失败。
      • 只支持将TUPLE类型的DataHub Topic同步到MaxCompute表中。
      • Topic默认最多可以创建20个。如果需要创建更多,请提交工单申请。
      • DataHub Topic的Owner或Creator账号,才有操作DataConnector的权限,包括创建、删除等。
  4. 向新建的Topic中写入数据。
    1. 单击左侧导航栏的数据采集,选择文件上传
    2. 上传文件页面,双击左侧DataHub Project列表中的Project,选择Topic。
    3. 选择要上传文件并单击点击开始上传文件,完成数据采集。
  5. 查看DataConnector详细信息。
    1. 单击左侧导航栏的项目管理
    2. 项目列表区域,单击选中Project后的查看,进入Project详情页面。
    3. 单击Topic后的查看,进入Topic详情页面。
    4. 单击DataConnectors页签,查看创建好的DataConnector。
    5. 单击DataConnector后的查看,即可查看DataConnector详细信息。
      DataHub默认当数据达到60MB或每五分钟强行投递数据到MaxCompute离线表中一次。当前点位代表已经同步数据的条数。
  6. 执行如下语句测试日志数据是否投递成功。
    SELECT * FROM test;
    返回结果如下,表示投递成功。