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

前提条件

授权访问MaxCompute的账号已开通以下权限:
  • MaxCompute中项目的CreateInstance权限。
  • MaxCompute中表的查看、修改和更新权限。

授权操作详情请参见授权

背景信息

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

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

操作步骤

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