5步帶你入門GaussDB(DWS)的GDS匯入匯出

華為雲開發者聯盟發表於2023-02-15
摘要:本篇文件為使用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產品文件。

 

點選關注,第一時間瞭解華為雲新鮮技術~

相關文章