摘要:本篇文檔為使用GDS導入示例的具體簡單步驟和示例。 本文分享自華為雲社區《帶你快速入門GDS導入導出,玩轉PB級數倉GaussDB(DWS)》,作者: yd_220527686。 1、創建導入目標表 CREATE TABLE tpcds_reasons ( r_reason_sk intege ...
摘要:本篇文檔為使用GDS導入示例的具體簡單步驟和示例。
本文分享自華為雲社區《帶你快速入門GDS導入導出,玩轉PB級數倉GaussDB(DWS)》,作者: yd_220527686。
1、創建導入目標表
CREATE TABLE tpcds_reasons ( r_reason_sk integer not null, r_reason_id char(16) not null, r_reason_desc char(100) );
2、創建與目標表一致的外表
#外表中配置了數據源格式信息、GDS服務的訪問信息,從而GaussDB(DWS)最終可以通過外表將數據伺服器上的數據引流進資料庫實表中。
DROP TABLE IF EXISTS foreign_tpcds_reasons; CREATE FOREIGN TABLE foreign_tpcds_reasons ( r_reason_sk integer not null, r_reason_id char(16) not null, r_reason_desc char(100) ) SERVER gsmpp_server OPTIONS ( LOCATION 'gsfs://127.0.0.1:8780/*', FORMAT 'CSV' , DELIMITER ',', ENCODING 'utf8', HEADER 'false', FILL_MISSING_FIELDS 'true', IGNORE_EXTRA_DATA 'true' );
創建成功後可以使用alter修改表的屬性,示例如下:
alter foreign table foreign_tpcds_reasons options(set quote '"');
3、啟動本地gds
gds -d dir -p ip:port -H address_string -l log_file -D
註意埠號與外表埠號一致,示例如下:
gds -d /input_data/ -D -p 127.0.0.1:8780 -l /CodeHub/gds_log.txt -H 0/0 -t 10 -D
4、執行導入
INSERT INTO [目標表名] SELECT * FROM [foreign table 表名];
出現INSERT 0 3類信息表示數據導入成功,示例如下:
INSERT INTO tpcds_reasons SELECT * FROM foreign_tpcds_reasons;
5、tips
設置\set VERBOSITY verbose可看到導入失敗的更多信息,包括gauss-00000類型錯誤碼,SQLSTATE,以及HINT等信息
導入數據類型需與外表的各個參數做對應,比如:FORMAT為csv文件,以空格做欄位分割,在外表創建時,DELIMITER需以空格為分割符
本篇文檔為使用GDS導入示例的具體簡單步驟和示例,如需詳細介紹及參數說說明,請參考DWS產品文檔。