在Hologres中,您可以通過配置Foreign Server(外部伺服器)來指定外部資料源(OSS)的串連資訊,進而建立外部表格,實現跨系統的資料訪問與查詢。本文將為您介紹如何利用HoloWeb視覺化檢視建立外部伺服器以及管理外部表格,並進行資料預覽。
前提條件
使用限制
Hologres不支援跨地區查詢外部表格資料。
建立Foreign Server
在Hologres中,Foreign Server(外部伺服器)用於指定通過foreign-data wrapper訪問外部資料源(如Object Storage Service)的串連資訊,以便實現跨系統資料訪問和查詢。您也可以通過使用者映射指定特定使用者的串連資訊,更多資訊請參見建立外部伺服器。
在頂部功能表列左側,選擇相應的地區。
在左側導覽列選擇執行個體列表,單擊目標執行個體操作列的資料湖加速,以開啟資料湖加速能力。
單擊前往HoloWeb,進入HoloWeb開發頁面。
登入目標資料庫後,在頂部功能表列單擊中繼資料管理 。
在中繼資料管理頁面,單擊
。參數說明如下:
參數
描述
Server Name
外部伺服器的名稱。
重要外部伺服器名稱必須在資料庫中保持唯一。
DLF EndPoint
預設為當前地區的DLF Endpoint,詳情請參見已開通的地區和訪問網域名稱。
DLF Catalog
在下拉式清單中選擇已建立的DLF Catalog名稱,若下拉式清單為空白,可單擊前往DLF控制台進行建立。
OSS EndPoint
預設為當前地區的原生OSS Endpoint,OSS-HDFS Endpoint可在下拉式清單中選擇。若未建立OSS Bucket,可單擊前往OSS控制台進行建立。
說明OSS Endpoint:可通過OSS地區和訪問網域名稱擷取。
OSS-HDFS Endpoint:可以在OSS控制台中,已開通OSS-HDFS服務的Bucket概覽頁擷取。
單擊提交,完成Foreign Server的建立。
建立外部表格
在頂部功能表列左側,選擇相應的地區。
單擊前往HoloWeb,進入HoloWeb開發頁面。
在HoloWeb頂部功能表列單擊中繼資料管理 。
在中繼資料管理頁面,單擊
。您可根據需要選擇加速方式為整庫加速、部分加速或單表加速,參數說明如下:
整庫加速
類別
參數名
描述
加速方式
整庫加速
將DLF指定資料庫下的表全量建立為Hologres外部表格。
DLF資料來源
Server Name
已建立的Foreign Server,用於指定外部資料源的串連資訊。
DB Name
Foreign Server中指定DLF Catalog下的資料庫名稱。
目標位置
Holo Schema
預設為public,可在下拉式清單中選擇有許可權的其他Schema。
進階選項
表名衝突
建立表時,如果資料庫中已存在當前建立的表名稱,您可以根據需要選擇如下處理方式:
忽略,繼續建立其他表:忽略當前建立的表,繼續建立其他表。
更新,修改同名表:更新已有表的資料。
報錯,不再重複建立:產生報錯,不再重複建立。
資料類型不支援
建立表時,如果存在不支援的資料類型,您可根據需要選擇如下處理方式:
報錯,匯入失敗:產生報錯,資料匯入失敗。
忽略,跳過不支援欄位所在表:忽略不支援欄位所在的表,繼續匯入資料。
部分加速
類別
參數名
描述
加速方式
部分加速
支援選擇部分表來建立外部表格,可通過表名模糊搜尋。
DLF資料來源
Server Name
已建立的Foreign Server,用於指定外部資料源的串連資訊。
DB Name
Foreign Server中指定DLF Catalog下的資料庫名稱。
目標位置
Holo Schema
預設為public,可在下拉式清單中選擇有許可權的其他Schema。
進階選項
表名衝突
建立表時,如果資料庫中已存在當前建立的表名稱,您可以根據需要選擇如下處理方式:
忽略,繼續建立其他表:忽略當前建立的表,繼續建立其他表。
更新,修改同名表:更新已有表的資料。
報錯,不再重複建立:產生報錯,不再重複建立。
資料類型不支援
建立表時,如果存在不支援的資料類型,您可根據需要選擇如下處理方式:
報錯,匯入失敗:產生報錯,資料匯入失敗。
忽略,跳過不支援欄位所在表:忽略不支援欄位所在的表,繼續匯入資料。
搜尋
通過表名模糊搜尋目標表進行勾選。
單表加速
類別
參數名
描述
加速方式
單表加速
給指定的某一張表建立Hologres外部表格。
DLF資料來源
Server Name
已建立的Foreign Server,用於指定外部資料源的串連資訊。
DB Name
Foreign Server中指定DLF Catalog下的資料庫名稱。
Table Name
DLF資料庫中建立的表名。
Hologres目標表
Schema
預設為public,可在下拉式清單中選擇有許可權的其他Schema。
表名
建立的Hologres外部表格名稱。
說明輸入目標DLF表名後,將會自動填入DLF表名,如您需要修改表名,可以重新命名。
目標表描述
建立的Hologres外部表格描述,可自訂修改。
單擊提交,即可在左側對應模式下,重新整理出建立的外部表格。
可選)您可滑鼠雙擊已建立的外部表格,單擊查詢表,進入SQL查詢時段,使用標準的PostgreSQL語言進行開發。
說明輸入表名稱後,會顯示外部源表的所有欄位,建立外部表格時也將預設建立所有欄位。如果您需要建立部分欄位,請使用單表加速或SQL語句建立外部表格,使用SQL建立外部表格的方式請參見CREATE FOREIGN TABLE。
Foreign Server更多操作(SQL方式)
建立成功後,您可通過SQL語句對已建立的Foreign Server進行查看、修改及刪除,文法如下:
查看已建立的Foreign Server
SELECT * FROM pg_foreign_server;
修改Foreign Server的DLF Catalog
ALTER SERVER <foreignserver_name> OPTIONS (ADD|SET|DROP dlf_catalog ['<catalog_name>']) ;
參數說明如下:
參數
描述
foreignserver_name
待修改的Foreign Server名稱。
ADD
為Foreign Server添加DLF Catalog。
SET
修改Foreign Server的DLF Catalog。
DROP
刪除Foreign Server的DLF Catalog。例如
ALTER SERVER foreign_server_test OPTIONS (DROP dlf_catalog) ;
。刪除Foreign Server
DROP SERVER <foreignserver_name> CASCADE;
參數說明如下:
參數
描述
foreignserver_name
待刪除的Foreign Server名稱。
CASCADE
刪除Foreign Server時,串聯刪除依賴於Foreign Server的對象。例如外部表格。
外部表格更多操作
編輯外部表格
在HoloWeb頁面的左側導覽列,選擇已登入執行個體列表。
單擊目標執行個體 > 目標資料庫 > 目標模式下的外表,顯示所有已建立的外部表格。
滑鼠雙擊目標外部表格,在詳情頁面單擊編輯表。
您可以根據業務需求,更改需要映射的外部源表的欄位或分區。
單擊提交,完成對當前外部表格的編輯。
修改外部表格名稱
在HoloWeb頁面左側導覽列的已登入執行個體列表中查詢目標外部表格,查詢目標外部表格的操作請參見編輯外部表格的步驟1~2。
滑鼠右鍵單擊目標外部表格,選擇重新命名。
在修改表名對話方塊中填入新名稱。
單擊確認。
刪除外部表格
在HoloWeb頁面左側導覽列的已登入執行個體列表中查詢目標外部表格,查詢目標外部表格的操作請參見編輯外部表格步驟的1~2。
滑鼠右鍵單擊目標外部表格,選擇刪除表。
在刪除表對話方塊中單擊確認。
資料預覽
在HoloWeb頁面左側導覽列的已登入執行個體列表中查詢目標外部表格,查詢目標外部表格的操作請參見編輯外部表格步驟的1~2。
滑鼠雙擊目標外部表格,在外部表格的詳情頁面單擊資料預覽。
常見問題
問題描述:在HoloWeb中訪問目標外部表格時,提示無RAM DLF API相關許可權。頁面報錯包含如下資訊:
You are not authorized to perform the operation. Please use RAM to authorize the operation.Action: [dlf:xxx].
解決方案:需要在RAM上授予AliyunDLF相關OpenAPI層許可權。
相關文檔
您還可以通過SQL方式建立外部伺服器(Foreign Server),詳情請參見建立外部伺服器。
您還可以通過SQL方式建立外部表格,詳情請參見在Hologres執行個體中建立外部表格。
關於更多外部表格DDL語句詳情,請參見: