使用hawq load导入数据

“hawq load”是一个使用gpfdist来进行数据加载的命令行工具。它可以让用户使用配置文件来配置数据格式,表定义,gpfdist配置等,从而简化数据加载的过程。

下面是一个”hawq load”配置文件my_load.yml的例子:

---
VERSION: 1.0.0.1
DATABASE: ops
USER: gpadmin
HOST: mdw-1
PORT: 5432
GPLOAD:
   INPUT:
    - SOURCE:
         LOCAL_HOSTNAME:
           - etl1-1
           - etl1-2
           - etl1-3
           - etl1-4
         PORT: 8081
         FILE:
           - /var/load/data/*
    - COLUMNS:
           - name: text
           - amount: float4
           - category: text
           - description: text
           - date: date
    - FORMAT: text
    - DELIMITER: '|'
    - ERROR_LIMIT: 25
    - ERROR_TABLE: payables.err_expenses
   OUTPUT:
    - TABLE: payables.expenses
    - MODE: INSERT
SQL:
   - BEFORE: "INSERT INTO audit VALUES('start', current_timestamp)"
   - AFTER: "INSERT INTO audit VALUES('end', current_timestamp)"

通过上面的配置文件,用户可以简单的使用下面命令来加载数据。”hawq load”命令会自动的启动gpfdist,创建外部表并进行数据加载。

hawq load -f my_load.yml