使用gpfdist导入文本到HAWQ

本例中HAWQ环境采用Ambari方式搭建,实例分布
bd1: HAWQ-Master, Segment
bd2: Segment
bd3: Segment

准备工作

  • 在3台主机上分别创建/data/hawq/files目录,并分别添加文件f1.txt。文本格式如下(注意内容不要相同,便于后面观察):
    Spark|100|high|专家|2016-11-08
    HAWQ|60| medium |入门|2016-11-08
  • 创建日志目录/data/hawq/logs

导入流程

  • 在所有有数据的主机上开启文件服务
    gpfdist -d /data/hawq/files -p 8081 -l /data/hawq/logs/log &

默认最大行为32k,可以使用-m修改最大行长度,如下:
gpfdist -d /data/hawq/files -p 8081 -l /data/hawq/logs/log -m 655350 &

  • 创建数据库
    CREATE DATABASE testdb;
    \c testdb

  • 创建外部表
    CREATE EXTERNAL TABLE table_ext
    (name TEXT,amount TEXT,level TEXT,title TEXT,time timestamp)
    LOCATION('gpfdist://bd1:8081/f1.txt','gpfdist://bd2:8081/f1.txt','gpfdist://bd3:8081/f1.txt')
    FORMAT 'TEXT'(DELIMITER '|');

  • 导入数据
    CREATE TABLE t as SELECT * FROM table_ext;

若表已经存在
INSERT INTO t SELECT * FROM table_ext;

你可能感兴趣的:(使用gpfdist导入文本到HAWQ)