更新时间:2023-10-17 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 并行导出流程
表1 流程说明

流程

说明

子任务

规划导出数据。

根据所选模式,准备需要导出的数据并规划导出路径。

详细内容请参见规划导出数据

-

是否为Local模式?

根据创建外表时所规划的导出模式判断,是否为Local模式。

-

启动GDS。

若规划的导出模式为Remote模式,需在数据服务器上安装配置并启动GDS。

详细内容请参见安装配置和启动GDS

-

创建外表。

创建外表用于帮助GDS指定导出的数据文件。外表中保存了导出数据文件的位置、文件格式、编码格式、数据间的分隔符等信息。

详细内容请参见创建GDS外表

-

执行导出数据。

在创建好外表后,通过INSERT语句,将数据快速、高效地导出到数据文件中。

详细内容请参见执行导出数据

-

停止GDS。

数据导出完成后,停止GDS。

详细请参见停止GDS

-