跳转至

前言

数据导入导出及外部数据访问

这一节描述了使用SeaboxMPP数据库导入数据和导出数据的方法。

SeaboxMPP数据库支持从多种类型的外部数据源导入,包括文件/scfs/http服务器/hadoop系统/kafka等。 导入的方法有三种:

  • COPY 命令
  • FOREIGN TABLE
  • EXTERNAL TABLE

后面两种以数据库表代表外部数据,通常用INSERT into table from select * FROM foreign_table命令中,导入外部数据到一个普通的数据库表中。 External Table的方式不在维护,建议使用Foreign Table,后续对新数据源的支持也将只支持Foreign Table

对于单个的文本文件,如果数据文件在ssql客户端,可以使用\copy客户端工具来加载。如果文件位于coordinator节点,使用copy table from 'filename'进行加载。还可以将文件放在SeaboxMpp支持的数据源上(例如 scfs,使用copy fromfdw://server/a.txt`的方式进行加载,这种方式一般会带来更好的导入性能。

并行加载和外部数据源的特性相关,数据源如果支持单个加载任务的并行划分,就会达到非常好的并行加载效果(例如scfs, Kafka,hdfs等)。

SeaboxMPP数据库可以以文本的方式导出成本地文件或者并行导出到scfs服务器上。