全部产品
MaxCompute

通过数据集成导入/导出

更新时间:2017-07-11 15:01:06   分享:   

用户可以通过 大数据开发套件- -数据集成创建数据同步任务向MaxCompute中进行数据的导入和数据导出。

前置条件


请看 “准备工作” 的准备阿里云账号\ 购买并创建项目相关介绍。

添加MaxCompute数据源

注意:

  • 只有项目管理员角色才能够新建数据源,其他角色的成员仅能查看数据源。
  • 若需要添加的数据源是当前MaxCompute项目,则无需进行此操作,该项目创建成功时在数据集成的数据源中就已经默认将该项目添加为数据源,数据源名是odps_first。
  1. 以项目管理员身份进入数加管理控制台,点击项目列表下对应项目操作栏中的进入工作区
  2. 进入顶部菜单栏中的数据集成页面,点击左侧导航栏中的数据源
  3. 点击右上角的新增数据源,如下图所示:
    odps00

  4. 在新增数据源弹出框中填写相关配置项,如下图所示:odps01上图中的配置项具体说明如下:
    ■ 数据源名称: 由英文字母、数字、下划线组成且需以字符或下划线开头,长度不超过 60 个字符 。
    ■ 数据源描述: 对数据源进行简单描述,不得超过 80 个字符 。
    ■ 数据源类型: 当前选择的数据源类型MySQL。
    ■ ODPS Endpoint: 默认只读。从系统配置中自动读取。
    ■ ODPS项目名称: 对应的ODPS Project标识
    ■ Access Id: 与ODPS Project Owner云账号对应的AccessID。
    ■ Access Key: 与ODPS Project Owner云账号对应的AccessKey,与AccessID成对使用。

  5. 点击测试连通性
  6. 若测试连通性成功,点击保存即可。

其他的数据源的配置请参见:数据源配置

通过数据集成导入数据

我们以将mysql数据导入到MaxCompute为例。

向导模式配置同步任务

  1. 新建同步任务,如下图所示:

  2. 选择来源。选择mysql数据源及源头表mytest,数据浏览默认是收起的,选择后点击下一步,如下图所示:

    cdp01

  3. 选择目标。目标即MaxCompute(原ODPS),表可以是提前创建,或者在此处使用”快速建表”:

    cdp02 选择后点击下一步,如下图所示:

    partition 分区信息:

    非分区表无此项配置。

    描述:需要写入数据表的分区信息,必须指定到最后一级分区。例如把数据写入一个三级分区表,必须配置到最后一级分区,例如 pt=20150101,type=1,biz=2 。

    清理规则:

    1)写入前清理已有数据:导数据之前,清空表或者分区的所有数据,相当于insert overwrite 。

    2)写入前保留已有数据:导数据之前不清理任何数据,每次运行数据都是追加进去的,相当于insert into 。

  4. 映射字段,选择字段的映射关系。需对字段映射关系进行配置,左侧“源头表字段”和右侧“目标表字段”为一一对应的关系 :

    cdp03

  5. 通道控制点击下一步,配置作业速率上限和脏数据检查规则:

    cdp04

    作业速率上限:是指数据同步作业可能达到的最高速率,其最终实际速率受网络环境、数据库配置等的影响。

    作业并发数:

    从单同步作业来看:作业并发数*单并发的传输速率=作业传输总速率;

    当作业速率上限已选定的情况下,应该如何选择作业并发数?

    ① 如果你的数据源是线上的业务库,建议您不要将并发数设置过大,以防对线上库造成影响;
    ② 如果您对数据同步速率特别在意,建议您选择最大作业速率上限和较大的作业并发数.

  6. 预览保存.完成以上配置后,上下滚动鼠标可查看任务配置,如若无误,点击保存,如下图所示: cdp05

运行同步任务

直接运行同步任务

注意:只有在同步任务设置了系统变量参数,在运行时会自动弹出弹框配置参数变量

cdp06

运行同步任务日志情况,如下图:

cdp07

同步任务保存后,直接点击运行任务会立刻运行或点击右边的提交,将同步任务提交到大数据开发套件的调度系统中,调度系统会按照配置属性在从第二天开始自动定时执行,相关调度的配置请参考下面的文档:调度配置介绍

脚本模式配置同步任务

可参考以下脚本,另其他配置与任务运行同”向导模式”方式。

  1. {
  2. "type": "job",
  3. "version": "1.0",
  4. "configuration": {
  5. "reader": {
  6. "plugin": "mysql",
  7. "parameter": {
  8. "datasource": "mysql",
  9. "where": "",
  10. "splitPk": "id",
  11. "connection": [
  12. {
  13. "table": [
  14. "person"
  15. ],
  16. "datasource": "mysql"
  17. }
  18. ],
  19. "connectionTable": "person",
  20. "column": [
  21. "id",
  22. "name"
  23. ]
  24. }
  25. },
  26. "writer": {
  27. "plugin": "odps",
  28. "parameter": {
  29. "datasource": "odps_first",
  30. "table": "a1",
  31. "truncate": true,
  32. "partition": "pt=${bdp.system.bizdate}",
  33. "column": [
  34. "id",
  35. "col1"
  36. ]
  37. }
  38. },
  39. "setting": {
  40. "speed": {
  41. "mbps": "1",
  42. "concurrent": "1"
  43. }
  44. }
  45. }
  46. }

通过数据集成导出数据

我们以MaxCompute导出到mysql的数据同步任务为例.

新建向导模式同步任务

  1. 新建同步任务,如下图所示:

  2. 选择来源。选择MaxCompute(原ODPS)数据源及源头表mytest,数据浏览默认是收起的,选择后点击下一步,如下图所示:

    odp03

  3. 选择目标。选择mysql数据源及目标表a1,选择后点击下一步,如下图所示:

    odp04

  4. 映射字段。点击下一步,选择字段的映射关系。需对字段映射关系进行配置,左侧“源头表字段”和右侧“目标表字段”为一一对应的关系。

    odps05

  5. 通道控制点击下一步,配置作业速率上限和脏数据检查规则,如下图所示:

    odps06

    作业速率上限:是指数据同步作业可能达到的最高速率,其最终实际速率受网络环境、数据库配置等的影响。

    作业并发数:

    从单同步作业来看:作业并发数*单并发的传输速率=作业传输总速率;

    当作业速率上限已选定的情况下,应该如何选择作业并发数?
    ① 如果你的数据源是线上的业务库,建议您不要将并发数设置过大,以防对线上库造成影响;
    ② 如果您对数据同步速率特别在意,建议您选择最大作业速率上限和较大的作业并发数。

  6. 预览保存。完成以上配置后,上下滚动鼠标可查看任务配置,如若无误,点击保存,如下图所示:

    odps07

提交数据同步任务

直接运行同步任务结果:

odps09

同步任务保存后,直接点击运行任务会立刻运行或点击右边的提交,将同步任务提交到大数据开发套件的调度系统中,调度系统会按照配置属性在从第二天开始自动定时执行,相关调度的配置请参考下面的文档:调度配置介绍

脚本模式配置同步任务

可参考以下脚本,另其他配置与任务运行同”向导模式”方式。

  1. {
  2. "type": "job",
  3. "version": "1.0",
  4. "configuration": {
  5. "reader": {
  6. "plugin": "odps",
  7. "parameter": {
  8. "datasource": "zz_odps",//数据源的名称,建议都添加数据源后进行同步
  9. "table": "mytest",//数据来源的表名
  10. "partition": "",分区信息
  11. "column": [
  12. "id",
  13. "name",
  14. "sex",
  15. "age"
  16. ]
  17. }
  18. },
  19. "writer": {
  20. "plugin": "mysql",
  21. "parameter": {
  22. "datasource": "mysql",//数据源的名称,建议都添加数据源后进行同步
  23. "table": "a1",
  24. "preSql": [],//导入前准备语句
  25. "postSql": [],//导入后准备语句
  26. "writeMode": "replace",//主键冲突配置
  27. "column": [
  28. "id",
  29. "col1",
  30. "col2",
  31. "col3"
  32. ]
  33. }
  34. },
  35. "setting": {
  36. "speed": {
  37. "mbps": "1",//一个并发的速率上线是1MB/S
  38. "concurrent": "1"//并发的数目
  39. }
  40. }
  41. }
  42. }

其他的配置同步任务详细信息请参考下面的文档:

本文导读目录
本文导读目录
以上内容是否对您有帮助?