本文为您介绍如何通过DataHub迁移日志数据至MaxCompute。
前提条件
授权访问MaxCompute的账号已开通以下权限:
- MaxCompute中项目的CreateInstance权限。
- MaxCompute中表的查看、修改和更新权限。
授权操作详情请参见授权。
背景信息
DataHub是阿里云流式数据(Streaming Data)的处理平台。数据上传至DataHub后保存在实时表里,后续会在5分钟内通过定时任务的形式同步到MaxCompute离线表里,供离线计算使用。
您只需要创建DataHub Connector,指定相关配置,即可创建将DataHub中流式数据定期归档到MaxCompute的同步任务。
操作步骤
- 在MaxCompute客户端(odpscmd)执行如下语句创建表,用于存储DataHub同步的日志数据。示例语句如下。
CREATE TABLE test(f1 string, f2 string, f3 double) partitioned by (ds string);
- 在DataHub上创建项目。
- 登录DataHub控制台,在左上角选择地域。
- 在左侧导航栏,单击项目管理。
- 在项目列表区域,单击右上角新建项目。
- 在新建项目页面,填写名称及描述,单击创建。
- 创建Topic。
- 在项目列表区域,单击项目右侧的查看。
- 在项目详情页面,单击右上角新建Topic,进入新建Topic页面,填写配置参数。
- 单击下一步,完善Topic信息。
说明
- Schema与MaxCompute表为对应关系,DataHub Topic Schema的字段名称、类型和顺序必须与MaxCompute表字段完全一致,如果三个条件中的任意一个不满足,则Connector创建失败。
- 支持将TUPLE和BLOB类型的DataHub Topic同步到MaxCompute表中。
- 系统默认最多可以创建20个Topic。如果需要创建更多,请提交工单申请。
- DataHub Topic的Owner或Creator账号有操作Connector的权限,包括创建和删除等。
- 向新建的Topic中写入数据。
- 单击新建Topic右侧的查看。
- 在Topic详情页面,单击右上角同步。
- 在新建Connector页面,单击MaxCompute,配置相关参数后,单击创建。
- 查看Connector详细信息。
- 在左侧导航栏,单击项目管理。
- 在项目列表区域,单击项目右侧的查看。
- 在Topic列表区域,单击Topic右侧的查看。
- 在Topic详情页面,单击Connector页签,查看创建好的Connector。
- 单击Connector右侧的查看,即可查看Connector详细信息。
DataHub默认每五分钟或当数据达到60 MB时强行向MaxCompute离线表中投递一次数据。
同步点位代表已经同步数据的条数。

- 执行如下语句测试日志数据是否投递成功。
SELECT * FROM test;
返回结果如下,表示投递成功。
