GaussDB for DWS數據融合系列第六期:GDS導入數據

      網友投稿 3030 2025-04-01

      數據并行導入過程中,需要通過創建外表時設置的導入模式和數據源文件位置等參數,來定位數據源文件。LibrA支持的導入模式有Normal(推薦使用)、Shared和Private。請從支持的導入模式的擴展性、可操作性、支持的數據格式等維度分析,規劃適合的并行導入模式。并根據所規劃的導入模式,配置相應的數據服務器,存放數據源文件,文檔采用Noremal模式(詳情請查閱:產品文檔-開發者指南-導入數據-創建外表-規劃導入模式)。

      通過GDS外表設置的導入模式、導入數據格式等信息來識別數據源文件,利用多DN并行的方式,將數據從數據源文件導入到數據庫中,從而提高整體導入性能。數據源文件存放在普通文件系統中,不支持在HDFS文件系統直接指定數據源。

      優勢:

      1.?CN只負責任務的規劃及下發,把數據導入的工作交給了DN,釋放了CN的資源,使其有能力處理外部請求。

      2.?通過使各DN都參與數據導入,充分利用各設備的計算能力及網絡帶寬。

      3.?支持導入過程中對數據做預處理。

      4.?支持在導入過程中,針對數據格式錯誤設置導入容錯性,并可在導入結束后根據錯誤信息定位錯誤數據。

      劣勢:

      需要創建外表,并且對于NORMAL模式需要啟動GDS服務。

      適用場景:

      高并發、大數據量導入。

      通過外表并行導入數據:

      相關概念:

      數據源文件:存儲有數據的TEXT、CSV或FIXED結尾的文件。文件中保存的是待導入數據庫的數據。

      外表:用于存放數據源文件的位置、文件格式、存放位置、編碼格式、數據間的分隔符等信息,關聯數據文件與數據庫實表的對象。

      GDS:數據服務工具。向LibrA導入數據時,需要將此工具部署到數據源文件所在的服務器上,使DN可以通過該工具獲取數據。

      數據庫普通表:數據庫中的表,數據源文件中的數據最終導入到這些表中存儲,包括行存表和列存表。

      數據服務器:數據源文件所在的服務器稱為數據服務器。由于使用GDS工具導入時,GDS需要安裝在數據服務器上(可以理解為客戶端),因此數據服務器也是GDS服務器。

      2.GDS導入流程

      3.操作步驟

      此處引用text格式作為數據源文件,CSV格式和FIXED?格式詳見產品文檔-開發者指南-導入數據-創建外表-識別導入數據格式章節;

      關于數據容錯性 請見產品文檔-開發者指南-導入數據-創建外表-規劃導入容錯性。

      3.1以root用戶登錄用于存放數據源文件的服務器(又稱數據服務器或GDS服務器);確認libra到gds客戶端的網絡鏈路是通的,ip白名單已添加客戶端IP。

      3.2創建數據文件存放目錄“/input_data”。

      mkdir -p /input_data將數據源文件上傳至上一步所創建的目錄中。

      3.3在數據服務器上安裝配置并啟動GDS,

      gds -d /input_data/ -p client_ip:5000 -H 0.0.0.0/0 -l /log/gds_log.txt -D -t 2

      with error_t1_foreign;

      -d?待導入數據文件目錄;

      -p?設置GDS**IP和端口。未指定時,IP的默認值為127.0.0.1,端口的默認值為8098(請確認網關和端口是開放的);

      -H?設置允許連接到GDS的主機(參數為CIDR格式,僅支持linux系統);

      -l?設置GDS日志文件;

      -D?設置GDS后臺運行,一般都指定該選項;

      3.4?添加用戶和用戶組?groupadd wheel,(數據庫用戶及所屬用戶組已存在,可跳過本步驟)。

      1.useradd -g wheel omm若出現以下提示,

      useradd: Account 'omm' already exists.

      groupadd: Group 'wheel' already exists.

      3.5?修改數據源文件目錄屬主為omm

      chown -R omm:wheel /input_data?通過URL方式設置外表創建時的參數“location”,用于指定數據源文件。

      URL末尾必須指定文件的匹配模式或者文件名。多個URL之間使用‘|’間隔。

      URL個數應小于DN個數,且不能使用多個地址相同的URL。

      3.6?創建外表

      create foreign table t1_foreign(a1 varchar2(10), a2 int)

      SERVER gsmpp_server?OPTIONS (location 'gsfs:// client_ip:5000/t1.txt',

      format?‘text’, encoding?‘utf8’, delimiter?‘^’, null?‘’)per node reject limit?‘value’

      3.7?參數介紹

      GaussDB for DWS數據融合系列第六期:GDS導入數據

      with error_t1_foreign;

      gsfs:該外表對應的文件或者路徑,可以指定多個文件或目錄并行導入;

      format:數據源文件的格式,有三種text、csv、fixed(定長),默認是text;

      encoding:數據源文件編碼格式,默認是數據庫編碼格式;

      delimiter:數據源文件行數據的字段分隔符,支持多字符;如果csv格式,還要指定quote選項;

      null:數據源文件中把什么字符識別為null;

      per node reject_limit:指定本次數據導入過程中每個DN實例上允許出現的數據格式錯誤的數量,如果有一個DN實例上錯誤數量大于設定值,本次導入失敗,報錯退出。

      with?數據導入過程中出現的數據格式錯誤信息將被寫入error_table_name指定的錯誤信息表中。

      示例:

      GDS數據服務器IP為192.168.0.90,假定啟動GDS時設置的**端口為5000,設置的數據文件存放目錄為“/input_data”,實際的數據文件存放目錄為“/input_data/import/”。

      根據以上情況,在創建外表時,指定參數“location”為“gsfs://192.168.0.90:5000/import/*”。如有多個gds服務location可以“|”?為分隔符連接多個gds,location gsfs://192.168.0.90:5000/*| gsfs://192.168.0.91:5000/*',

      3.9導入數據

      1.?驗證數據源是否能正常查詢出數據,

      Select * from? foreign_table_name limit 10;

      2.?通過查詢外表將數據插入內表

      Insert into inner_tablename_select * from ??foreign_table_name;

      3.?查詢錯誤信息表err_tpcds_reasonS,處理數據加載錯誤。

      SELECT * FROM err_tpcds_reasonS

      4.?處理錯誤表詳見:產品文檔-開發者指南-導入數據-創建外表-處理錯誤表

      4.注意事項

      1.導入數據時源數據不能放在dn節點,否則會出現數據傾斜,造成gds性能不佳;(dn數據離源數據越近 越容易獲取數據(數據的親源性),而其他的數據節點會出現負載嚴重偏離的情況,可以1.top??查看gds??進程號?2.gstack? pid查看進程?3.iostat -x 1 10?查看Io速率)

      2.導入數據時 可以將源數據放在相同服務器的不同磁盤下面 并且保證數據文件的唯一性(有重復的文件會導致??導入表數據的冗余,目前Gds還無法識別相同文件數據)

      3.保證表的數據列哈希值得唯一性??(如果數值不唯一則會形成數據被存儲到單個dn?造成數據傾斜)

      4.一臺服務器可以啟動3個gds服務??分不同端口??性能最佳

      5. GDS數據導出

      規劃數據服務器與集群處于同一內網,數據服務器和數據節點不在同一集群,數據源文件格式為CSV,所以規劃的并行導出模式為Remote模式。

      1.?客戶端創建數據接收目錄

      1.mkdir -p /out_date

      2.添加用戶和組?groupadd wheel;useradd -g wheel omm

      3.?chown -R?omm:wheel /output_data

      4.?啟動GDS服務

      /opt/bin/gds/gds -d /output_data -p? 192.168.0.90:5005 -H 10.10.0.1/24 –D

      5.??在數據庫中創建外表foreign_tpcds_reasonS用于接收數據服務器上的數據。

      由于啟動GDS時,設置的導出數據文件存放目錄為“/output_data/”,GDS**端口為5005。創建的導出數據文件存放目錄為“/output_data/”。所以設置參數“location”為“gsfs://192.168.0.90:5005/”。

      6.相關參數說明

      數據文件格式(format)為CSV。

      編碼格式(encoding)為UTF-8。

      字段分隔符(delimiter)為E'\x08'。

      引號字符(quote)為0x1b。

      數據文件中空值(null)為沒有引號的空字符串。

      逃逸字符(escape)為默認值雙引號。

      數據文件是否包含標題行(header)為默認值false,即導入時數據文件第一行被識別為數據。

      7.創建的外表

      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://192.168.0.90:5005/', format 'CSV',encoding 'utf8',delimiter E'\x08', quote E'\x1b', null '') WRITE ONLY;在數據庫上,通過外表foreign_tpcds_reasonS,將數據導出到數據文件中。

      INSERT INTO foreign_tpcds_reasonS SELECT * FROM reasonS;

      8.以omm用戶登錄數據服務器,停止GDS。

      ps -ef|grep gds

      omm 128954????? 1? 0 15:03 ???????? 00:00:00 gds -d /output_data -p 192.168.0.90:5005 -D

      omm 129003 118723? 0 15:04 pts/0??? 00:00:00 grep gds

      kill -9 128954

      EI企業智能 Gauss AP 數據倉庫服務 GaussDB(DWS)

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:如何計算Excel中當月剩余的工作天數?
      下一篇:wps2019文件怎么插入橢圓形標注?
      相關文章
      图图资源网亚洲综合网站| 国产亚洲欧美在线观看| 自拍偷自拍亚洲精品偷一| 亚洲av无码片区一区二区三区| 亚洲高清在线视频| 亚洲国产精品久久久久婷婷老年| 亚洲AV无码专区亚洲AV伊甸园 | 最新国产精品亚洲| 国产精品久久亚洲不卡动漫| 亚洲大尺码专区影院| 91嫩草亚洲精品| 亚洲youjizz| 亚洲 欧洲 日韩 综合在线| 亚洲中文无码永久免费| 亚洲日本VA午夜在线电影| 亚洲AV无码AV吞精久久| 激情婷婷成人亚洲综合| 亚洲国产成人精品久久久国产成人一区二区三区综 | 久久亚洲精精品中文字幕| 亚洲制服中文字幕第一区| 亚洲色图在线播放| 亚洲精品电影在线| 亚洲日本久久一区二区va| 亚洲熟女精品中文字幕| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 久久精品国产99国产精品亚洲| 亚洲乱码在线观看| 亚洲av纯肉无码精品动漫| jizzjizz亚洲| 亚洲无线码一区二区三区| 亚洲AV综合色区无码另类小说| 日本久久久久亚洲中字幕| 亚洲六月丁香六月婷婷蜜芽| 99亚偷拍自图区亚洲| 色欲aⅴ亚洲情无码AV蜜桃| 亚洲国产精品自在拍在线播放| 亚洲综合色自拍一区| 亚洲国产高清人在线| 亚洲免费人成视频观看| 亚洲第一成年免费网站| 亚洲精品99久久久久中文字幕|