1.在linux下啓動gpfdist服務
gpfdist是Greenplum自帶的工具,無需安裝其他依賴或服務
$ gpfdist -d /u01 -p 5555 -l /tmp/gpfdist.log &
參數解釋:
-d 數據文件所放的目錄
-p 設置訪問gpfdist端口,這個可以根據實際情況寫。
-l 設置日誌文件所放的目錄,這個參數也可以不用填寫。
& 必須要寫。
查看gpfdist是否開啓:ps -ef|grep pfdist
啓動前:
啓動後:
2.導入數據
2.1創建external table(可讀外部表)
=# create external table 外部表名(列名1 數據類型,列名2 數據類型...)LOCATION('gpfdist://服務器IP:gpfdist服務的端口/數據源文件') FORMAT '數據源模式' (HEADER DELEMITER AS ',') log errors into err.test_csv encoding 'utf-8';
注意:
外部表的數據定義不能有約束條件如not null ,default 等。
HEADER 表示csv文件的第一行定義了數據的數據類型
DELIMITER ',' 表示用,分隔數據
NULL as '' 表示''爲空值
encoding 'utf-8' 表示用utf-8編碼
log errors into err.test_csv 表示將錯誤的數據導出到err.test_csv (Greenplum5已經廢除)
2.2 insert into 導入數據
=# insert into 需要導入到的表名 select * from 外部表名
3.導出數據
3.1創建 writable external table (可寫外部表)
注意:與external table相比,沒有了header
w_drugs.csv是導出的文件,沒有此文件的話在創建外部表後會自動生成
3.2 insert into 導出數據
=# insert * into 可寫外部表名 from 內部表