中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

greenplum中怎么使用gpfdist與外部表高效導入數據

發布時間:2021-12-30 17:40:27 來源:億速云 閱讀:151 作者:iii 欄目:服務器

本篇內容介紹了“greenplum中怎么使用gpfdist與外部表高效導入數據”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

greenplum作為OLAP分析型軟件,自然避免不了從外部數據庫加載大量的數據,然而傳統的ETL數據傳輸方法(select=>insert)到GP需要經過GP的單點master,效率非常低。

下面介紹外部表用gpfdist快速導入數據:

普通外部表和可寫外部表區別:

1、普通外部表只能select,可寫外部表只能insert

2、可寫外部表沒有錯誤表

3、可寫外部表可以指定分布鍵,如果不指定,默認隨機分布;普通外部表只能隨機分布

gpfdist優勢:

1、直接由segment并發加載

2、直接加載數據文件,并可讀寫(和選擇的外部表類型有關)

3、默認數據隨機分配,每個節點負載均衡(和選擇的外部表類型有關)

示例:

1、啟動gpfdist

安裝完GP后,自帶gpfdist文件,直接指定目錄、端口等就能啟動服務。如果需要獨立的文件服務器,則需要在文件服務器上單獨下載gpfdist使用

[gpadmin@gp-master ~]nohup /disk/GP/bin/gpfdist -p 8081 -d /disk/upload &

使用nohup &是起守護進程作用,不然執行啟動服務的客戶端關閉后,這個進程也會被關閉;指定端口8081,指定文件服務器目錄/disk/upload

[gpadmin@gp-master ~]$ ps -ef|grep gpfdist

gpadmin    816 32606  0 17:08 pts/4    00:00:00 grep gpfdist

gpadmin  13036     1  0 Oct21 ?        00:00:44 /disk/GP/bin/gpfdist -p 8081 -d /disk/upload

2、創建普通外部表

CREATE  EXTERNAL TABLE "ods"."order" (

"id" varchar(64),

"create_by" varchar(64),

"create_date" timestamp,

"update_by" varchar(64),

"update_date" timestamp,

"del_flag" char(1),

"user_id" varchar(64),

"user_name" varchar(64),

"account_id" varchar(64),

"equ_def_id" varchar(64),

"amount_in" numeric(20,2),

"amount_in_money" numeric(20,2),

"amount_out" numeric(20,2),

"amount_out_money" numeric(20,2),

"fee" numeric(20,2),

"fee_discount" numeric(20,2),

"money" numeric(20,2),

"actual_pay_money" numeric(20,2),

"discount_money" numeric(20,2),

"pay_time" timestamp,

"order_type" varchar(16),

"status" varchar(64),

"rel_biz_type" varchar(64),

"rel_biz_id" varchar(64),

"equ_agreement" varchar(64),

"remarks" varchar(100),

"transaction_type" varchar(1),

"pay_stop_date" timestamp,

"stop_time" timestamp,

"bid_method" varchar(64),

"profit_fee_rate" numeric(20,2),

"quit_charge_rate" numeric(20,2),

"return_tb" numeric(20,2),

"last_order_id" varchar(64),

"root_order_id" varchar(64),

"invest_name_for_me" varchar(64),

"invest_name_for_buyer" varchar(64),

"invest_start_time" timestamp,

"available_amount" numeric(20,2),

"surplus_days" int4,

"transferable_flag" varchar(64),

"trc_order_id" varchar(64)

) LOCATION ('gpfdist://gp-master:8081/order.csv') format 'csv' (DELIMITER ';');

注意有幾個坑:

1、這個實驗數據order.csv是生產環境mysql的測試數據,表中有時間類型字段,如果從線上數據導出到txt文本,這個時候你的時間格式就變成了varchar,再導入到GP的時間類型字段時候會報格式錯誤,所以盡量導出為csv格式的文本

2、指定gpfdist信息:LOCATION ('gpfdist://文件服務器主機名或IP:gpfdist端口/加載文件') format '文件格式' (DELIMITER '分隔字符')

3、從線上數據導出到文本,不要行頭,不要封閉符,只需要分隔字符

測試數據90W記錄的數據,gpfdist加載數據在秒級別,效率很高

創建可寫外部表

CREATE WRITABLE  EXTERNAL TABLE "ods"."order1" (

"id" varchar(64),

"create_by" varchar(64),

"create_date" timestamp,

"update_by" varchar(64),

"update_date" timestamp,

"del_flag" char(1),

"user_id" varchar(64),

"user_name" varchar(64),

"account_id" varchar(64),

"equ_def_id" varchar(64),

"amount_in" numeric(20,2),

"amount_in_money" numeric(20,2),

"amount_out" numeric(20,2),

"amount_out_money" numeric(20,2),

"fee" numeric(20,2),

"fee_discount" numeric(20,2),

"money" numeric(20,2),

"actual_pay_money" numeric(20,2),

"discount_money" numeric(20,2),

"pay_time" timestamp,

"order_type" varchar(16),

"status" varchar(64),

"rel_biz_type" varchar(64),

"rel_biz_id" varchar(64),

"equ_agreement" varchar(64),

"remarks" varchar(100),

"transaction_type" varchar(1),

"pay_stop_date" timestamp,

"stop_time" timestamp,

"bid_method" varchar(64),

"profit_fee_rate" numeric(20,2),

"quit_charge_rate" numeric(20,2),

"return_tb" numeric(20,2),

"last_order_id" varchar(64),

"root_order_id" varchar(64),

"invest_name_for_me" varchar(64),

"invest_name_for_buyer" varchar(64),

"invest_start_time" timestamp,

"available_amount" numeric(20,2),

"surplus_days" int4,

"transferable_flag" varchar(64),

"trc_order_id" varchar(64)

) LOCATION ('gpfdist://gp-master:8081/order1.csv') format 'CSV' (DELIMITER ';')

DISTRIBUTED BY (id);

“greenplum中怎么使用gpfdist與外部表高效導入數據”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

六枝特区| 亚东县| 明星| 上饶县| 喜德县| 延长县| 琼结县| 信阳市| 海兴县| 西和县| 日土县| 清丰县| 灵武市| 凤阳县| 平南县| 黄骅市| 南陵县| 蒙阴县| 绥滨县| 广水市| 南丹县| 安丘市| 西贡区| 临西县| 淳化县| 澄江县| 修武县| 卢氏县| 敦化市| 苏尼特左旗| 达尔| 武鸣县| 宣城市| 安图县| 保定市| 城口县| 建瓯市| 岫岩| 扬中市| 滦南县| 临朐县|