全部產品
Search
文件中心

Hologres:基於HoloWeb建立OSS外部表格

更新時間:Dec 14, 2024

在Hologres中,您可以通過配置Foreign Server(外部伺服器)來指定外部資料源(OSS)的串連資訊,進而建立外部表格,實現跨系統的資料訪問與查詢。本文將為您介紹如何利用HoloWeb視覺化檢視建立外部伺服器以及管理外部表格,並進行資料預覽。

前提條件

  • 已建立OSS Bucket並匯入資料,詳情請參見開始使用OSS

  • 已建立DLF Catalog,詳情請參見資料目錄

  • 已具備所使用的foreign-data wrapper的USAGE許可權,授權方式請參見許可權授予

  • Foreign Server的DLF Catalog中已存在資料庫和資料表,建立資料庫和資料表的操作請參見資料庫表及函數

使用限制

Hologres不支援跨地區查詢外部表格資料。

建立Foreign Server

在Hologres中,Foreign Server(外部伺服器)用於指定通過foreign-data wrapper訪問外部資料源(如Object Storage Service)的串連資訊,以便實現跨系統資料訪問和查詢。您也可以通過使用者映射指定特定使用者的串連資訊,更多資訊請參見建立外部伺服器

  1. 登入Hologres管理主控台

  2. 在頂部功能表列左側,選擇相應的地區。

  3. 在左側導覽列選擇執行個體列表,單擊目標執行個體操作列的資料湖加速,以開啟資料湖加速能力。

  4. 單擊前往HoloWeb,進入HoloWeb開發頁面。

  5. 登入目標資料庫後,在頂部功能表列單擊中繼資料管理

  6. 在中繼資料管理頁面,單擊OSS資料湖加速 > 建立Foreign Server

    image

    參數說明如下:

    參數

    描述

    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概覽頁擷取。

  7. 單擊提交,完成Foreign Server的建立。

建立外部表格

  1. 登入Hologres管理主控台

  2. 在頂部功能表列左側,選擇相應的地區。

  3. 單擊前往HoloWeb,進入HoloWeb開發頁面。

  4. 在HoloWeb頂部功能表列單擊中繼資料管理

  5. 在中繼資料管理頁面,單擊OSS資料湖加速 > 建立外部表格

    image

    您可根據需要選擇加速方式為整庫加速部分加速單表加速,參數說明如下:

    整庫加速

    類別

    參數名

    描述

    加速方式

    整庫加速

    將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外部表格描述,可自訂修改。

  6. 單擊提交,即可在左側對應模式下,重新整理出建立的外部表格。

  7. 可選)您可滑鼠雙擊已建立的外部表格,單擊查詢表,進入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的對象。例如外部表格。

外部表格更多操作

編輯外部表格

  1. 在HoloWeb頁面的左側導覽列,選擇已登入執行個體列表。

  2. 單擊目標執行個體 > 目標資料庫 > 目標模式下的外表,顯示所有已建立的外部表格。

  3. 滑鼠雙擊目標外部表格,在詳情頁面單擊編輯表

  4. 您可以根據業務需求,更改需要映射的外部源表的欄位分區

  5. 單擊提交,完成對當前外部表格的編輯。

修改外部表格名稱

  1. 在HoloWeb頁面左側導覽列的已登入執行個體列表中查詢目標外部表格,查詢目標外部表格的操作請參見編輯外部表格的步驟1~2。

  2. 滑鼠右鍵單擊目標外部表格,選擇重新命名

  3. 修改表名對話方塊中填入新名稱。

  4. 單擊確認

刪除外部表格

  1. 在HoloWeb頁面左側導覽列的已登入執行個體列表中查詢目標外部表格,查詢目標外部表格的操作請參見編輯外部表格步驟的1~2。

  2. 滑鼠右鍵單擊目標外部表格,選擇刪除表

  3. 刪除表對話方塊中單擊確認

資料預覽

  1. 在HoloWeb頁面左側導覽列的已登入執行個體列表中查詢目標外部表格,查詢目標外部表格的操作請參見編輯外部表格步驟的1~2。

  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層許可權。

相關文檔