前言
数据导入导出及外部数据访问¶
这一节描述了使用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 from
fdw://server/a.txt`的方式进行加载,这种方式一般会带来更好的导入性能。
并行加载和外部数据源的特性相关,数据源如果支持单个加载任务的并行划分,就会达到非常好的并行加载效果(例如scfs, Kafka,hdfs等)。
SeaboxMPP数据库可以以文本的方式导出成本地文件或者并行导出到scfs服务器上。