数据导入介绍
前提条件
支持的数据库类型
• 关系型数据库:
– MySQL:关系数据库MySQL版,公网直连MySQL,其他来源MySQL。
– PostgreSQL:分析型数据库PostgreSQL,公网直连PostgreSQL,其他来源Postgresql。
支持的数据格式
支持本地上传SQL文件、CSV文件(逗号分隔值)、TXT文件(逗号分隔值)、JSON文件。
支持的写入方式
友好的用户界面
数据导入功能的用户界面简单直观,即使您不是技术专家,也能轻松上手使用。
应用场景
• 数据迁移: 在更换系统或平台时,数据导入可以帮助您将旧数据迁移到新系统中。
• 数据备份: 将源数据导出并导入到目标数据库,可以作为紧急备份,防止数据丢失。
注意事项
• 当前数据导入功能仅对单实例单个数据库/模式或单表实现变更操作,暂不支持同时对多个数据库或多表进行导入操作。
• 目前已支持批量导入SQL,支持的SQL类型有DDL和DML。用户可将建表SQL以及数据变更SQL导入以批量执行。每条SQL请以英文分号结束。
• 为了保证批量导入数据库的性能和速度,请使用SQL性能更好的方式,例如SQL语句采用INSERT,插入方式采用INSERT INTO。
提交导入任务
前提条件
• 操作用户拥有目标数据库/模式的导入权限。
• 当前组织处于基础版时,需要目标实例已是登录状态(若未登录则选择目标库/模式时会弹出登录窗口)。
注意事项
• 导入任务当前只支持对单实例单个数据库/模式或单表进行数据变更操作,暂不支持同时对多实例多个数据库/模式或单表进行相同文件的批量导入。
• 导入时SQL将分批执行,默认每批1000行,不保证事务。导入工单结束后,可到实例元数据功能查看库/模式或查询窗口查看表数据,查看表数据操作请查阅 打开表。
• 如果选择导入的文件类型为SQL,则以库/模式为目标导入,无法选择“目标表”和“导入方式”。如果选择导入的文件类型为CSV和TXT,则以单表为目标导入。
• MySQL、Postgresql数据源,选择的导入类型为TXT文件或CSV文件时,可以选择“导入行为”是“新建表”,支持导入前自动建表。
操作步骤
1. 登录DMS控制台。
2. 在左侧导航栏,单击开发空间>数据导入 ,进入数据导入管理页面。
3. 单击数据导入按钮,弹出数据导入工单填写弹窗,工单需要选择或输入的内容说明见下表1。
4. 填写完数据导入工单后,单击提交按钮,即完成工单的提交。
5. 当前组织处于基础版时,数据导入工单进入任务执行阶段。
6. 当前组织处于企业版时,数据导入工单依次进入预检查、审批流程、任务执行阶段。
7. 数据导入任务的工单状态,可在导入列表页面查看,如果导入失败,可点击详情查看原因。更多详细操作请查看 数据导入工单列表 。
表1 工单输入内容说明
输入内容
说明
数据库类型
选择导入的数据库类型,支持MySQL、PostgreSQL、。
目标数据库
选择数据导入的数据库/模式,数据来源于在DMS控制台中添加的数据库实例,其中MySQL、SQLServer可选择到库级别,PostgreSQL可选择到模式级别。当前仅支持单选一个目标库/模式。
² 注意
如果未登录目标库/模式对应的实例,则选中目标库/模式后会弹出该实例的登录窗口。
导入文件类型
选择导入数据的上传文件类型:
• SQL:目前支持DDL和DML语句,请每条SQL语句以英文分号(;)收尾。选择该文件类型则无法指定“目标表”和“写入方式”。
• CSV:CSV文件中的分隔符为英文逗号,且文件第一行为表的列名称。
• TXT:TXT文件格式与CSV类似,文件中的分隔符为英文逗号,且文件第一行为表的列名称。
目标表
文件编码
选择导入文件的编码类型:
• UTF-8:默认选中。适用于大部分英文文本。
• GBK:适用于文件中带有中文的情况。
• 自动识别:如果不能确定文件编码类型,可选该选项。
导入行为
针对MySQL和Postgresql数据源,在选择文件类型为CSV或TXT后,支持选择“新建表”,其余数据源类型默认为“现有表”。
选择“新建表”,系统会根据导入文件中的相关字段猜测您所需的建表结构,可点击新建表的表名称打开表结构编辑页面。
² 注意
当前“新建表”的表结构编辑,暂不支持数据库的自定义类型作为表字段类型。新建表字段类型与导入文件是否成功密切相关,如选择“新建表”请认真检查表结构是否符合需求。
写入方式
针对非MongoDB和DDS数据源,选择导入文件的写入方式:
• INSERT INTO:插入数据,数据库会检查主键(PrimaryKey),如果出现重复会报错。
• INSERT IGNORE INTO:插入数据,数据库会检查主键(PrimaryKey),如果表中已经存在相同的记录,则忽略当前新数据。
• REPLACE INTO:插入替换数据,数据库会检查主键(PrimaryKey),如果数据库已经存在数据,则用新数据替换,如果没有数据效果则和INSERT INTO一样。
² 注意
• 为保证导入文件时数据库的性能,请尽可能选择INSERT操作。
• 目前MySQL数据库类型支持INSERT INTO,INSERT IGNORE INTO,REPLACE INTO这3种导入方式,PostgreSQL数据库类型支持INSERT INTO的导入方式。
数据位置
当选择文件类型为CSV和TXT时,可选择文件首行属性是列名或者数据。
附件上传
单击上传文件,上传选中文件类型对应的文件。
² 注意
• 目前支持SQL,CSV,TXT,JSON四种文件格式,上传前请检查文件名后缀是否符合要求。
• 目前仅支持上传单个文件。
• 上传文件大小最大限制为1GB,请控制好文件数据大小。
工单说明
描述工单备注内容。该内容将展示在工单详情弹窗页。
数据导入工单列表
前提条件
DMS用户拥有进入数据导入管理页面的菜单权限。
注意事项
数据导入工单列表页仅展示自己提交的工单。
操作步骤
1. 登录数据管理服务DMS。
2. 在左侧导航栏,点击开发空间>数据导入 ,进入数据导入工单列表页。
数据导入工单列表页功能介绍
工单查询
输入查询条件后点击查询按钮,执行查询操作。
支持的查询条件:
• 工单状态:下拉列表选择工单状态。
• 时间范围:某一时间段创建或执行的导入工单。
• 关键词:可输入工单号/库名/创建人相关关键字。
数据导入
点击数据导入按钮可添加新的数据导入任务,详见提交导入任务。
重试
针对异常的工单,可以根据异常原因,进行选择是否需要重试,点击重试按钮即可进行重试。
² 注意
重试操作并不会更改配置,请考虑重试是否可能成功后再点击按钮。
详情
在工单列表找到目标工单,点击工单号或在操作列点击详情按钮,在打开的工单详情页面可查看目标工单的详细信息。
数据导入工单详情页面,包含基础信息、任务状态、预检查、审批流程四个部分。
基础信息
以下表格为基础信息部分的说明:
内容
说明
工单类型
展示工单是导入或导出类型。
创建人
导入任务的创建用户。
工单状态
展示工单当前状态。
工单号
系统生成的工单唯一id。
创建时间
工单保存到系统的时间。
最后操作时间
工单状态最后更新时间。
库/模式信息
导入任务对应的目标库/模式信息。
导入文件类型
导入的文件格式类型,可在创建工单任务时选择。
写入方式
导入任务的写入方式,可在创建工单任务时选择。
工单说明
备注信息,可在创建工单任务时填写。
任务状态
用于展示数据导入任务的状态与执行时间,状态包括已创建、执行成功、执行中、执行失败四种状态。当任务执行失败时,用户可以点击执行失败上的
,查看失败原因。
预检查
用于展示数据导入工单的预检查详情,包括连接检查、权限检查。
审批流程
用于展示数据导入工单的审批流程详情。当组织处于基础版时,用户提交的数据导入工单会触发数据导入任务直接执行,不会经过审批流程,所以没有需要展示的审批流程信息;当组织处于企业版时,用户提交的数据导入工单在通过预定的审批流程之后,才会执行数据导入任务,所以会展示具体的审批流程信息。