更新时间:2024-10-14 GMT+08:00
关于并行导出
使用GDS工具将数据从数据库导出到普通文件系统中,适用于高并发、大量数据导出的场景。使用外表做并行导出时,需要开启steam算子后才能够使用GDS工具导出。
概述
通过外表导出数据:通过外表设置的导出模式、导出数据格式等信息来指定待导出的数据文件,利用多DN并行的方式,将数据从数据库导出到数据文件中,从而提高整体导出性能。
- CN只负责任务的规划及下发,把数据导出的工作交给了DN,释放了CN的资源,使其有能力处理外部请求。
- 通过让各个DN都参与数据导出,充分利用各个设备的计算能力及网络带宽。
图1 通过外表导出数据
相关概念
- 数据文件:存储有数据的TEXT、CSV或FIXED文件。文件中保存的是从GaussDB数据库导出的数据。
- 外表:用于规划导出数据文件的数据文件格式、存放位置、编码格式等信息。
- GDS:数据服务工具。在导出数据时,需要将此工具部署到数据文件所在的服务器上,使DN可以通过该工具导出数据。
- 表:数据库中的表,包括行存表和列存表。数据文件中的数据从这些表中导出。
- Local导出模式:将集群中的业务数据导出到集群节点所在主机上。
- Remote导出模式:将集群中的业务数据导出到集群之外的主机上。
导出模式
GaussDB支持的导出模式有Local和Remote模式。
- Remote模式:将集群中的业务数据导出到集群之外的主机上。
- 支持多个GDS服务并发导出,但1个GDS在同一时刻,只能为1个集群提供导出服务。
- 配置与集群节点处于统一内网的GDS服务,导出速率受网络带宽影响,推荐的网络配置为10GE。
- 支持数据文件格式:TEXT、CSV和FIXED。单行数据大小需<1GB。
- Local模式:将集群中的业务数据导出到集群节点所在主机上。一种专门为大量小文件而定制的一种策略。
- 数据将均匀切割并生成到集群节点上指定的文件夹下,需占用集群节点的磁盘空间。
- 支持数据文件格式:TEXT、CSV和FIXED。单行数据大小需小于1GB。
导出流程
图2 并行导出流程
流程 |
说明 |
子任务 |
---|---|---|
规划导出数据。 |
根据所选模式,准备需要导出的数据并规划导出路径。 详细内容请参见规划导出数据 |
- |
是否为Local模式? |
根据创建外表时所规划的导出模式判断,是否为Local模式。 |
- |
启动GDS。 |
若规划的导出模式为Remote模式,需在数据服务器上安装配置并启动GDS。 详细内容请参见安装配置和启动GDS。 |
- |
创建外表。 |
创建外表用于帮助GDS指定导出的数据文件。外表中保存了导出数据文件的位置、文件格式、编码格式、数据间的分隔符等信息。 详细内容请参见创建GDS外表。 |
- |
执行导出数据。 |
在创建好外表后,通过INSERT语句,将数据快速、高效地导出到数据文件中。 详细内容请参见执行导出数据。 |
- |
停止GDS。 |
数据导出完成后,停止GDS。 详细请参见停止GDS。 |
- |
父主题: 使用外表并行导出