数据导入
NineData 支持数据导入功能,支持将包含 SQL 脚本或数据内容的文件导入至目标数据库,最大支持 5 GB 的文件。
背景信息
NineData 的 SQL 任务支持最基本的 SQL 脚本操作,为少量 SQL 的批量执行提供了方便的途径。对于大量数据的导入操作,就需要使用其他高效的工具来简化这个过程。为了解决这个问题, NineData 提供了强大的数据导入功能,帮助用户轻松地将大量的数据从文件中导入到目标数据库中。
功能介绍
NineData 的数据导入功能可以帮助用户将包含大量数据的文件导入到目标数据库中。具体的功能详情如下:
支持的导入类型以及对应的文件格式:
导入类型 文件格式 SQL ZIP、SQL、TXT CSV ZIP、CSV EXCEL ZIP、XLS、XLSX 支持的最大文件大小:5 GB
支持的字符集:UTF-8、GBK
数据安全性保障:组织模式组织模式支持对组织下的每个用户分配不同的角色和资源管理权限,适用于同一组织下多用户协同开发,在保证数据安全的同时,提升整体生产效率。下,支持对数据进行严格的权限控制,数据导入需经过审批流程,确保数据的安全。
- 审批流程(审批人):默认状态下,必须通过系统管理员审批,才可以执行数据导入任务,支持管理员角色对审批流程进行按需调整。
- 审批流程(执行人):支持配置导入任务在通过审批后的执行人,可配置为系统执行、申请人执行、审批人执行(审批流程的最后一个审批人)。
- 开发规范:导入的数据文件(SQL)中如果包含多种导入语句,为保证数据库的安全,默认状态下仅执行
INSERT
语句,支持管理员角色对开发规范进行按需调整。 - 执行时间:导入任务的审批通过后,执行人可选择立即执行或定时执行,满足有特定执行时间需求的场景。
使用场景
NineData 的数据导入功能可以在以下场景下发挥重要作用:
- 外部来源数据导入:在企业需要从外部来源获取数据的场景下,NineData 数据导入功能可以帮助用户将这些外部来源数据导入到目标数据库中,以便后续处理和管理。例如,一些电商平台需要从供应商的系统中导入产品数据,NineData 数据导入功能可以帮助他们快速地将数据导入到数据库中。
- 数据初始化:在新建数据库或者重新设置数据库结构时,需要将初始数据导入数据库中,NineData 数据导入功能可以帮助用户将初始数据从文件中导入到目标数据库中,从而快速初始化数据库。
- 大批量数据更新:需要对数据库执行大规模数据更新的场景。
- 例 1:企业需要将大量的平台订单数据导入到企业数据库,方便进行存储和分析。
- 例 2:企业需要将重复数据或无效数据删除或合并,或者需要对数据进行格式化或转换。
- 例 3:企业需要批量更新产品价格、库存或其他关键业务数据。
- 例 4:企业需要更新数据的时间戳或数据的格式用于故障处理。
注意事项
在商业化版本下(、),请确保您的包年包月订阅未过期,否则将无法正常使用数据库 DevOps 服务。您可以在 NineData 控制台页面右上方快速查看剩余配额以及到期时间。
使用限制
- 非 SQL 类型的数据文件必须导入到指定的一张表中,并且该表中存在数据文件中的所有列,否则导入任务将失败。
- 导入不包含结构的 SQL 类型文件时,请确保文件中每个语句对应的表已存在于目标库中。
- 当前数据导入不支持规范校验(预检查),需谨慎使用。
- 当前支持 MySQL、SQL Server、PostgreSQL、Oracle、OceanBase Oracle、OceanBase MySQL、DB2、达梦、TiDB、GreatSQL、GaiaDB、GaiaDB-X、TDSQL MySQL版。
提交任务
前提条件
- 已有目标数据源的库表权限。如没有可以先申请。更多信息,请参见权限申请与审批。
- 已有的模块权限(默认情况下都具备),如果您看不到该入口,请联系您的系统管理员。
- 已有权限。如何申请该权限,请参见权限申请与审批。
操作步骤
登录 NineData 控制台。
在左侧导航栏单击 >。
在页面,单击页面右上角的。
在页面,按照下表进行配置。
参数 说明 输入数据导入任务的名称,仅在组织模式下需要输入。为了方便后续查找和管理,请尽量使用有意义的名称。最多支持 64 个字符。 选择数据导入任务的目标数据源和库|Schema。不为 SQL 时,还需要选择具体的导入目标表(SQL Server、Oracle、OceanBase Oracle、DB2、达梦 在选择导入目标表之前还需要选择对应的 Schema)。
说明:如果您没有该数据源或库的权限,页面将弹出提示,您可以单击提示框中的进行权限申请。更多信息,请参见权限申请与审批。选择数据的导入类型,支持如下三种: - SQL:包含一系列 SQL 语句的文件,通过 SQL 回放的方式将数据导入 MySQL 数据库。
- CSV:文本文件格式,每行代表一条记录,通常情况下每个字段用逗号分隔。
- EXCEL:Excel 文件的格式,每个表格单元格包含一个字段值。
单击按钮,选择需要导入数据库的数据文件。支持上传包含多个数据文件的 .zip
压缩包,实现批量上传。
说明:不是 SQL 的情况下,请确保数据文件中的列名及列数量和导入目标表中的一致,或者在下方的中手动指定字段名,否则可能会导入失败。选择导入数据文件的编码: - (默认):系统自动识别数据文件的编码。
- UTF-8:可变长度的 Unicode 字符编码。
- GBK:中文编码,从 GB2312 编码基础上扩展而来。
输入导入的原因,仅在组织模式下需要输入,用于审批流程。 开启后系统将不对任务进行规范预审,仅对其数据源进行权限校验。且该模式会将多个 SQL 语句合并成一个批处理语句进行提交,可减少网络开销,提高导入性能,当前版本固定开启该模式。 当前导入任务审批通过后的任务执行人,仅在组织模式下需要选择。
说明:列表中的可选项取决于如下两种情况:单击可以展开配置项。 MySQL、TiDB、GreatSQL
- (为 CSV 或 EXCEL 时可选):
- (默认选中):选择数据文件的首行是否为字段名,请根据您导入文件的实际情况勾选或取消。
- (仅 CSV 可选且默认选中):选择数据文件中每个字段的分隔符,请根据您导入文件的实际情况选择。
- :该选项支持您自行选择将数据文件中的数据导入到目标表的哪个(些)列,支持多选。当选择多个列时,系统将按照用户选择的列名排序顺序进行导入。此功能适用于数据文件和目标表的列名不一致或者列数不同的情况。
- (为 CSV 或 EXCEL 时可选):
- Insert(默认):将数据插入到表中,如果表中已存在相同的行,则会插入失败并提示错误信息。
- Insert Ignore:将数据插入到表中,如果表中已存在相同的行,则插入操作将跳过该行,而不进行任何更改。
- Replace Into:将数据插入到表中,如果表中已存在相同的行,则会直接进行覆盖。
- :
- :选中该选项,则不检查外键约束的限制条件。
PostgreSQL
- (为 CSV 或 EXCEL 时可选):
- (默认选中):选择数据文件的首行是否为字段名,请根据您导入文件的实际情况勾选或取消。
- (仅 CSV 可选且默认选中):选择数据文件中每个字段的分隔符,请根据您导入文件的实际情况选择。
- :该选项支持您自行选择将数据文件中的数据导入到目标表的哪个(些)列,支持多选。当选择多个列时,系统将按照用户选择的列名排序顺序进行导入。此功能适用于数据文件和目标表的列名不一致或者列数不同的情况。
- (为 CSV 或 EXCEL 时可选):
- Insert(默认):将数据插入到表中,如果表中已存在相同的行,则会插入失败并提示错误信息。
- Insert Ignore:将数据插入到表中,如果表中已存在相同的行,则插入操作将跳过该行,而不进行任何更改。
SQL Server
- (为 CSV 或 EXCEL 时可选):
- (默认选中):选择数据文件的首行是否为字段名,请根据您导入文件的实际情况勾选或取消。
- (仅 CSV 可选且默认选中):选择数据文件中每个字段的分隔符,请根据您导入文件的实际情况选择。
- :该选项支持您自行选择将数据文件中的数据导入到目标表的哪个(些)列,支持多选。当选择多个列时,系统将按照用户选择的列名排序顺序进行导入。此功能适用于数据文件和目标表的列名不一致或者列数不同的情况。
- (为 CSV 或 EXCEL 时展示):
- Insert(固定):将数据插入到表中,如果表中已存在相同的行,则会插入失败并提示错误信息。
- :
- :选中该选项,则不检查外键约束的限制条件。
Oracle|Oceanbase Oracle
(为 CSV 或 EXCEL 时可选):- (默认选中):选择数据文件的首行是否为字段名,请根据您导入文件的实际情况勾选或取消。
- (仅 CSV 可选且默认选中):选择数据文件中每个字段的分隔符,请根据您导入文件的实际情况选择。
- :该选项支持您自行选择将数据文件中的数据导入到目标表的哪个(些)列,支持多选。当选择多个列时,系统将按照用户选择的列名排序顺序进行导入。此功能适用于数据文件和目标表的列名不一致或者列数不同的情况。
DB2、达梦
(为 CSV 或 EXCEL 时可选):- (默认选中):选择数据文件的首行是否为字段名,请根据您导入文件的实际情况勾选或取消。
- (仅 CSV 可选且默认选中):选择数据文件中每个字段的分隔符,请根据您导入文件的实际情况选择。
- :该选项支持您自行选择将数据文件中的数据导入到目标表的哪个(些)列,支持多选。当选择多个列时,系统将按照用户选择的列名排序顺序进行导入。此功能适用于数据文件和目标表的列名不一致或者列数不同的情况。
单击,自动跳转至页面。
- 如果您处于个人模式通常情况下,您在注册 NineData 账号之后,默认为个人模式,此时,您可以无障碍使用 NineData 提供的四大模块功能,个人模式适用于个人开发者,例如对自身的数据库进行备份恢复、同步、对比,以及结合 SQL 窗口进行日常开发等工作。,导入任务自动开始并执行,等待任务状态变更为即可,步骤结束。
- 如果您处于组织模式组织模式支持对组织下的每个用户分配不同的角色和资源管理权限,适用于同一组织下多用户协同开发,在保证数据安全的同时,提升整体生产效率。,请继续下列步骤。
在节点,等待任务状态更改为,然后单击页面右上角的,进入节点。在节点中,您还可以执行如下操作:
- 单击页面右上角的
图标,刷新任务状态。
- 单击页面右上角的再次执行检查。
- 单击页面右上角的,直接撤回任务或重新编辑任务并提交。
- 单击页面右上角的,复制出一个配置相同的新任务。
- 单击页面右上角的
在页面右上角单击,在弹出的窗口中选择流程审批人员,单击。
提示- 根据审批流程配置的不同,此处需要选择的审批人员数量不同,请根据实际情况选择。
如果当前审批流程中开启了,则此处将显示,您无需手动指定审批人,所有具备审批当前工单的人员均会收到审批提醒并支持对该工单进行审批。
任务状态变更为,在审批通过之前,您可以进行如下操作:
- 单击页面右上角的
图标,刷新任务状态。
- 单击页面右上角的,直接撤回任务或重新编辑任务并提交。
- 单击页面右上角的,更改该任务的审批人。
- 单击页面右上角的,复制出一个配置相同的新任务。
- 单击页面右上角的
任务状态变更为,任务的单击页面右上角的,选择,并单击。
- :马上执行数据导入任务。
- :选择一个时间执行数据导入任务。
等待任务状态变更为即可。
审批任务
前提条件
操作步骤
登录 NineData 控制台。
在左侧导航栏单击 >。
在页面,找到目标任务,单击任务 ID 或任务右侧列的。
提示您也可以将鼠标放置在页面上方的
图标上,在页签中单击目标任务。
在页面,审批工单内容,根据实际情况选择、或。
操作 说明 将工单转交给其他用户审批。 批准申请,单击后,您可以按需输入,并单击。 驳回申请,单击后,您还需要输入,并单击。