导入导出简介

本章主要描述如何导入和导出OushuDB数据。OushuDB支持通过外部表(External Tables)进行高性能并行数据导入和导出,对小规模数据也支持通过Copy命令进行串行导入和导出。

  • 外部表允许用户直接查询OushuDB外部数据,所以他也提供了一种简单的通过CREATE Table table_name AS SELECT * FROM ext_table并行导入数据到OushuDB内部表的方法。最常用的并行加载数据到OushuDB的方法是通过基于gpfdist的外部表。gpfdist是一个HTTP服务器,用户可以在同一机器上,或者不同的机器上启动多个gpfdist实例,从而可以充分利用多台机器,多个网卡实现大规模并行加载。同时,基于gpfdist的外部表也可以支持数据的导出。
  • COPY命令可以把单个文件加载到OushuDB,也可以从OushuDB中导出数据到单个文件。COPY命令是串行的。

OushuDB还提供了”hawq load”命令行工具来简化用户加载数据。”hawq load”是对gpfdist外部表的一个封装,用户只需创建一个配置文件,该命令可以按照配置文件的要求来自动启动gpfdist,创建表和加载数据。

本章主要从以下几个方面来描述如何导入和导出OushuDB数据。

  • gpfdist外部表导入数据
  • gpfdist外部表导出数据
  • hdfs外部表导入数据
  • hdfs外部表导出数据
  • 使用COPY命令导入导出数据
  • 使用hawq load导入数据
  • 格式化输入和输出文件