全部产品
Search
文档中心

数据管理 DMS:数据导入

更新时间:Jan 26, 2024

当您需要将大批量数据导入至数据库时,可以使用数据管理DMS提供的数据导入功能,导入SQL、CSV、Excel类型的文件。

前提条件

数据库类型如下:

  • 关系型数据库

    • MySQL:RDS MySQLPolarDB MySQL版MyBase MySQLPolarDB分布式版AnalyticDB MySQL版、其他来源MySQL。

    • SQL Server:RDS SQL ServerMyBase SQL Server、其他来源SQL Server。

    • PostgreSQL:RDS PostgreSQLPolarDB PostgreSQL版MyBase PostgreSQLAnalyticDB PostgreSQL版、其他来源PostgreSQL。

    • MariaDB:RDS MariaDB、其他来源MariaDB。

    • OceanBase。

    • PolarDB PostgreSQL版(兼容Oracle)

    • 达梦数据库

    • DB2

    • Oracle

  • 非关系型数据库

    • Redis

    • MongoDB

注意事项

  • 数据导入功能暂不支持在同一个工单对多个数据库进行变更操作,如需对多个数据库进行变更请提交普通数据变更工单。具体操作,请参见普通数据变更

  • 若只是少量数据变更,为保证变更的稳定性,建议使用普通数据变更DML无锁变更工单。

  • 为了避免执行批量数据导入期间影响数据库性能,建议使用SQL性能较好的语句,如INSERT,主键索引的UPDATEDELETE

  • 若批量数据导入脚本中包含了结构变更SQL,即使实例已开启无锁结构变更,该结构变更SQL也只能通过原生方式执行,不会通过无锁结构变更的方式执行。

操作步骤

说明

以管控模式为安全协同的RDS MySQL数据库为例,介绍配置流程。

  1. 登录数据管理DMS 5.0
  2. 在顶部菜单栏中,选择数据库开发 > 数据变更 > 数据导入

    说明

    若您使用的是极简模式的控制台,请单击控制台左上角的2023-01-28_15-57-17.png图标,选择全部功能 > 数据库开发 > 数据变更 > 数据导入

  3. 数据变更工单申请页面,配置工单参数信息。部分参数说明如下:

    参数项

    说明

    数据库

    数据导入操作的目标数据库。仅支持选择一个数据库。

    说明

    管控模式自由操作稳定变更的实例数据库需要登录后方可选择。

    执行方式

    根据需求,选择工单执行方式:

    • 审批通过后,提交者执行。

    • 审批通过后,自动执行。

    • 最后一个审批人执行。

    文件编码

    选择数据库的文件编码:

    • UTF-8

    • GBK

    • ISO-8859-1

    • 自动识别

    导入模式

    选择导入模式,当前支持两种导入模式:

    • 极速模式:在执行阶段读取文件,将SQL语句直接执行到指定的目标库。该模式安全性相比安全模式要低,但是执行时效较高。

      说明

      安全规则配置默认未开启支持极速模式导入数据。您可以在实例关联的安全规则 > SQL变更 > 基础配置项中开启该检测项。

    • 安全模式:预检查阶段会解析文件并将SQL或CSV数据缓存入库,执行时再从缓存库中读出来执行到指定的目标库。该模式安全性较好,但是执行时效相比极速模式要低。

    文件类型

    选中导入数据的文件类型:

    • SQL脚本:安全协同模式下,默认仅放开INSERT和REPLACE命令类型。如需调整,可以由DBA或管理员在安全规则 > SQL变更 > 批量数据导入中修改。

    • CSV格式:文件中的分隔符必须为逗号。

    • Excel格式:Excel文件中可以有表头(属性),也可以直接是数据。

    目标表

    选择导入数据的目标表。

    说明

    当文件类型选择CSV或Excel格式时,会出现该参数项。

    数据位置

    选择数据的位置:

    • 第1行为属性:表格首行是字段名。

    • 第1行为数据:表格首行是数据。

    写入方式

    选择文件的写入方式:

    • INSERT:插入数据时数据库会检查主键(PrimaryKey),如果出现重复会报错。

    • INSERT_IGNORE:如果表中已经存在相同的记录,则忽略当前新数据。

    • REPLACE_INTO:如果表中已经有某行数据(根据主键或者唯一索引判断),则先删除此行数据,然后插入新的数据。

    说明

    RDS MySQL、PolarDB MySQL版PolarDB分布式版、AnalyticDB MySQL版、OceanBase数据库类型支持3种写入方式:INSERT INTOINSERT IGNOREREPLACE INTO。其他数据库仅支持INSERT INTO写入。

    附件

    单击上传文件上传附件。

    说明
    • 支持SQL、CSV、TXT、XLSX和ZIP文件类型。

    • 附件最大不能超过5 GB。

    其他选项(可选)

    选择是否忽略异常报错。

    • 不忽略(不选中):系统默认。系统遇到异常会停止执行后续SQL并报错。

    • 忽略(选中):系统执行失败会忽略异常,并继续执行后续SQL。

    回滚SQL(可选)

    • 文本:在下方输入框中书写回滚SQL。

    • 附件:上传回滚SQL文件。

      说明
      • 支持SQL、TXT和ZIP文件类型。

      • 文件最大不能超过15 MB。

    变更相关人(可选)

    设置的相关人员都可查看工单,并协同工作,非相关人员则不能查看工单(管理员、DBA除外)。

  4. 单击提交申请,等待系统预检查通过,如果预检查失败,请根据提示检查失败原因后单击重试

    说明
    • 系统会预检查您上传的SQL,如果是CSV文件,会生成相应的INSERT语句。

    • 若在预检查的类型检查阶段出现报错,需要根据报错信息调整实例关联的安全规则。具体操作,请参见数据变更

  5. 审批区域,单击提交审批,在提示对话框中单击确认

  6. 待审批通过后,在执行区域,单击执行变更

  7. 任务设置对话框中,选择工单的执行方式。

    执行方式如下:

    • 立即执行:系统默认。单击确定执行后,立即执行工单。

    • 定时执行:选择任务开始执行时间。单击确定执行后,系统会在设定的时间自动执行任务。

    说明
    • 执行期间,系统流式读取已解析的SQL,分批执行到数据库(每批大小1 MB)。

    • 您可以在执行区域,查看任务执行状态、任务SQL检查详情和调度日志。

    • 已暂停的任务,重启后,会根据导入模式选择从头执行任务,还是从暂停位置执行。

      • 极速模式:暂停任务后重启,将从头开始执行脚本或导入数据文件。

      • 安全模式:暂停任务后重启,将从暂停位置继续执行脚本或导入数据文件。

  8. 当出现任务执行完成提示后,表示数据导入工单完成。

    工单完成后,您可前往SQL Console页面查询导入的数据。查询数据的操作,请参见SQL Console初体验

示例文件