greenplum利用外部表實現跨主機跨數據庫類型查詢

CREATE EXTERNAL WEB TABLE testtable 
(
  字段定義
)
   EXECUTE 'mysql -hhost -uroot -ppassword -s -e "SELECT * FROM dbname.tablesname"' 
   ON MASTER
      FORMAT 'TEXT'

上邊是最終實現方法。下面簡單說下實現依據mysql

官方文檔有寫:web

CREATE [READABLE] EXTERNAL WEB TABLE table_name     
   ( column_name data_type [, ...] | LIKE other_table )
      LOCATION ('http://webhost[:port]/path/file' [, ...])
    | EXECUTE 'command' [ON ALL 
                          | MASTER
                          | number_of_segments
                          | HOST ['segment_hostname'] 
                          | SEGMENT segment_id ]
      FORMAT 'TEXT' 
            [( [HEADER]
               [DELIMITER [AS] 'delimiter' | 'OFF']
               [NULL [AS] 'null string']
               [ESCAPE [AS] 'escape' | 'OFF']
               [NEWLINE [ AS ] 'LF' | 'CR' | 'CRLF']
               [FILL MISSING FIELDS] )]
           | 'CSV'
            [( [HEADER]
               [QUOTE [AS] 'quote'] 
               [DELIMITER [AS] 'delimiter']
               [NULL [AS] 'null string']
               [FORCE NOT NULL column [, ...]]
               [ESCAPE [AS] 'escape']
               [NEWLINE [ AS ] 'LF' | 'CR' | 'CRLF']
               [FILL MISSING FIELDS] )]
           | 'CUSTOM' (Formatter=<formatter specifications>)
     [ ENCODING 'encoding' ]
     [ [LOG ERRORS] SEGMENT REJECT LIMIT count
       [ROWS | PERCENT] ]

剔除無用語法:sql

CREATE EXTERNAL WEB TABLE table_name     
   ( column_name data_type [, ...] )
    EXECUTE 'command' 
     ON MASTER
      FORMAT 'TEXT'

分隔符封閉符能夠根據須要調整,最後根據業務調整爲文章一開始那樣的命令。spa

相關文章
相關標籤/搜索