开发者社区> 问答> 正文

MaxCompute用户指南:数据上传下载:通过数据集成导入/导出



您可以通过大数据开发套件中的 数据集成 创建数据同步任务,对 MaxCompute 中的数据进行导入和导出操作。

前置条件


在开始数据的导入和导出操作前,您需要根据 准备阿里云账号购买并创建项目 中的操作,做好准备工作。

添加 MaxCompute 数据源


注意:

  • 只有项目管理员角色才能够新建数据源,其他角色的成员仅能查看数据源。

  • 若需要添加的数据源是当前 MaxCompute 项目,则无需进行此操作。该项目创建成功时,即在数据集成的数据源中,默认将该项目添加为数据源,数据源名为  odps_first。


操作步骤


  1. 以项目管理员身份进入 大数据开发套件管理控制台,单击 项目列表 下对应项目操作栏中的 进入工作区

  2. 单击顶部菜单栏中的 数据集成,导航至 数据源 页面。

  3. 单击 新增数据源

  4. 在新增数据源弹出框中填写相关配置项,如下图所示:

    配置项说明如下:

    • 数据源名称: 由英文字母、数字、下划线组成且需以字符或下划线开头,长度不超过 60 个字符。

    • 数据源描述: 对数据源进行简单描述,不得超过 80 个字符。

    • 数据源类型: 当前选择的数据源类型 MySQL。

    • ODPS Endpoint: 默认只读。从系统配置中自动读取。

    • ODPS项目名称: 对应的 MaxCompute Project 标识。

    • Access Id: 与 MaxCompute Project Owner 云账号对应的 AccessID。

    • Access Key: 与 MaxCompute Project Owner 云账号对应的 AccessKey,与 AccessID 成对使用。

  • 单击 测试连通性

  • 若测试连通性成功,单击 保存 即可。

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


  • 通过数据集成导入数据


    以将 MySQL 的数据导入到 MaxCompute 中为例,您可以通过 向导模式脚本模式 两种方式配置同步任务。

    向导模式配置同步任务


    1. 新建向导模式的同步任务,如下图所示:

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

    3. 选择目标。
      目标即 MaxCompute(原 ODPS),表可以是提前创建,也可以在此处单击 快速建表,如下图所示:

      配置项说明:

      • 分区信息:必须指定到最后一级分区。例如:把数据写入一个三级分区表,必须配置到最后一级分区,例如 pt=20150101,type=1,biz=2。非分区表无此项配置。

      • 清理规则:

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

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

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

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

    配置项说明:

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

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

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

    • 如果您的数据源是线上的业务库,建议您不要将并发数设置过大,以防对线上库造成影响。

    • 如果您对数据同步速率特别在意,建议您选择最大作业速率上限和较大的作业并发数。

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


  • 运行同步任务



    直接运行同步任务


    只有在同步任务设置了系统变量参数,在运行时才会自动弹出弹框配置参数变量。如下图所示:

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

    同步任务保存后,直接单击 运行,任务便会立刻运行。您也可以单击 提交,将同步任务提交到大数据开发套件的调度系统中,调度系统会按照配置属性在从第二天开始自动定时执行,相关调度的配置请参见 调度配置介绍

    脚本模式配置同步任务


    您可参考以下脚本进行配置同步任务操作,其他配置与任务运行同 向导模式 方式。
    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,数据浏览默认是收起的,选择后单击 下一步,如下图所示:

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

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

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

      配置项说明:

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

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

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

    • 如果您的数据源是线上的业务库,建议您不要将并发数设置过大,以防对线上库造成影响。

    • 如果您对数据同步速率特别在意,建议您选择最大作业速率上限和较大的作业并发数。

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


  • 提交数据同步任务



    直接运行同步任务


    直接运行同步任务,运行日志如下图所示:

    同步任务保存后,直接单击 运行,任务便会立刻运行。您也可以单击 提交,将同步任务提交到大数据开发套件的调度系统中,调度系统会按照配置属性在从第二天开始自动定时执行,相关调度的配置请参见 调度配置介绍

    脚本模式配置同步任务


    您可参考以下脚本进行配置同步任务操作,其他配置与任务运行同 向导模式 方式。
    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. }


    参考文档

    展开
    收起
    行者武松 2017-10-23 15:27:21 3695 0
    0 条回答
    写回答
    取消 提交回答
    问答排行榜
    最热
    最新

    相关电子书

    更多
    Data+AI时代大数据平台应该如何建设 立即下载
    大数据AI一体化的解读 立即下载
    极氪大数据 Serverless 应用实践 立即下载