日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

計算組管理

本文為您介紹查看、創建、刪除以及擴縮容計算組等管理命令。

注意事項

  • 開啟計算組模式需要后臺配置,且僅Hologres V2.0.4及以上版本支持開啟并使用計算組模式,請您加入實時數倉Hologres交流群申請,詳情請參見如何獲取更多的在線支持?

  • 新購買一個計算組實例時,系統默認會有一個名稱為init_warehouse的默認計算組。一個實例只有一個默認計算組,且默認計算組無法刪除,但是可以修改。

  • 使用計算組A新建Table Group時,Table Group的主計算組默認為計算組A。

  • 每個實例最多可以創建10個計算組,每個計算組資源最小32 CU,最大512 CU。自V3.0.10版本起,計算組的最大規格調整至1024 CU。

  • 不支持使用SQL命令停止或恢復實例的默認計算組。

  • 默認情況下,所有用戶都有使用默認計算組的權限。

  • 所有計算組都可以執行DDL。

  • 計算組型實例不支持配置資源組(Beta),資源組詳情請參見資源組管理(即將下線)。推薦通過劃分多個計算組以實現資源隔離。

  • 計算組實例計費相關請參見計費概述

查看計算組

  • 命令格式

    • 系統表hologres.hg_warehouses存放了當前實例所有計算組的信息,您可以使用如下SQL查看當前實例下所有的計算組的信息。

      SELECT * FROM hologres.hg_warehouses;
    • 使用如下SQL查看當前使用的計算組,系統將會返回當前使用的計算組名稱。

      SELECT current_warehouse();
  • 參數說明

    系統表hologres.hg_warehouses中包含的字段信息如下:

    字段

    字段類型

    說明

    示例值

    warehouse_id

    INTEGER

    計算組ID,是計算組的唯一ID。

    1

    warehouse_name

    TEXT

    計算組名稱。

    init_warehouse

    cpu

    INTEGER

    計算組的CPU(單位Core)。

    32

    mem

    INTEGER

    計算組的內存(單位GB)。

    128

    cluster_min_count

    INTEGER

    計算組的最小分片數量。

    1

    cluster_max_count

    INTEGER

    計算組的最大分片數量。

    1

    target_status

    INTEGER

    計算組的目標狀態,由于變更計算組狀態是異步的,例如執行創建計算組的SQL,系統會立即返回SQL執行結果,但返回SQL結果時,并非計算組已經創建成功,系統會在后臺異步創建計算組,這里的狀態記錄了計算組最終需要達到的狀態,有如下狀態:

    • 1:運行中。

    • 2:手動停機。

    1

    status

    INTEGER

    計算組當前狀態,有如下狀態:

    • 0:初始化。

    • 1:運行中。

    • 2:手動停機。

    • 3:處理失敗,如果狀態為處理失敗,status_detail字段會顯示具體的原因。

    • 4:處理中。

    1

    status_detail

    TEXT

    計算組狀態詳情。

    is_default

    BOOLEAN

    是否是默認計算組,有如下取值:

    • t:是默認計算組。

    • f:不是默認計算組。

    t

    config

    TEXT

    計算組配置。

    comment

    TEXT

    計算組備注。

創建計算組

  • 注意事項

    • 僅支持使用阿里云賬號或者RAM用戶創建資源組。

    • 創建計算組需要具備實例的Superuser權限。

    • 由于創建計算組的過程是異步的,執行創建計算組組SQL后,并不代表計算組創建完成,需要您使用hg_get_warehouse_status函數查詢計算組的狀態。

  • 命令格式

    CALL hg_create_warehouse ('<warehouse_name>', <cu>);
  • 參數說明

    參數

    類型

    說明

    warehouse_name

    TEXT

    新建的計算組名稱,命名要求:

    • 僅支持數字、英文字母和下劃線的組合。

    • 最長支持64個字符。

    cu

    INTEGER

    計算組的CU數。

    • 最大值:512。

    • 最小值:32。

    • 步長:16。

停止計算組

  • 注意事項

    • 停止計算組需要具備實例的Superuser權限。

    • 不支持使用SQL命令停止或恢復實例的默認計算組,如需停止或恢復實例的默認計算組,請直接停機或恢復實例,詳情請參見實例列表

    • 若計算組對應的Table Group有從計算組,那么該計算組無法被停止。例如計算組A是Table Group A的主計算組,負責向Table Group A中的表寫入數據,計算組B是Table Group A的從計算組。此時暫時不支持停止計算組A。

    • 由于停止計算組的過程是異步的,執行SQL后,并不代表計算組停止完成,需要您使用hg_get_warehouse_status函數查詢計算組的狀態。

  • 命令格式

    CALL hg_suspend_warehouse ('<warehouse_name>');
  • 參數說明

    參數

    類型

    說明

    warehouse_name

    TEXT

    需要停止的計算組名稱。

恢復計算組

  • 注意事項

    • 恢復計算組需要具備實例的Superuser權限。

    • 不支持使用SQL命令停止或恢復實例的默認計算組,如需停止或恢復實例的默認計算組,請直接停機或恢復實例,詳情請參見實例列表

    • 由于恢復計算組的過程是異步的,執行SQL后,并不代表計算組停止完成,需要您使用hg_get_warehouse_status函數查詢計算組的狀態。

  • 命令格式

    CALL hg_resume_warehouse ('<warehouse_name>');
  • 參數說明

    參數

    類型

    說明

    warehouse_name

    TEXT

    需要恢復的計算組名稱。

刪除計算組

  • 注意事項

    • 僅支持使用阿里云賬號或者RAM用戶刪除計算組。

    • 刪除計算組需要具備實例的Superuser權限。

    • 實例的默認計算組不支持使用SQL命令刪除。

    • Table Group的主計算組不支持使用SQL命令刪除。

    • 由于刪除計算組的過程是異步的,執行SQL后,并不代表計算組刪除完成,需要您使用hg_get_warehouse_status函數查詢計算組的狀態。

  • 命令格式

    CALL hg_drop_warehouse ('<warehouse_name>');
  • 參數說明

    參數

    類型

    說明

    warehouse_name

    TEXT

    需要刪除的計算組名稱。

擴容計算組計算資源

權限說明

  • 僅支持使用阿里云賬號或者RAM用戶擴容計算組,不支持STS賬號。

  • 擴容計算組計算資源需要具備以下權限:

    • RAM角色權限:AliyunHologresWarehouseFullAccess或AliyunHologresFullAccess權限。

    • 實例內部的Superuser權限。

使用說明

  • 擴容計算組前,需要先在管控臺上擴容實例的資源,確保實例有足夠的未分配資源。當實例資源調整完畢后,系統會拉起新的Pod,但是此時Pod上并未加載任何Shard的元數據,所以擴容出來的Pod不會參與計算,實例擴容的操作不會影響計算組的查詢和寫入。

  • 實例擴容完成,且有足夠的未分配資源后,可以繼續使用該部分未分配資源,擴容計算組資源。如果實例未分配資源不足,則無法完成計算組擴容。

    • 自Hologres V2.2版本起,如果計算組有空Pod,系統會自動執行Rebalance操作,使新的Pod加載Shard的元數據。在Rebalance完成后,才能使用新擴容的資源,Rebalance時查詢和寫入會中斷15秒。因此,如果您的實例為V2.2及以上版本,擴容計算組后,無需手動執行Rebalance操作。如果您的實例版本低于V2.2,則需手動執行Rebalance操作。

    • Hologres V3.0版本起,計算組擴容期間,計算組的查詢和寫入不會中斷。

操作步驟

  1. 擴容計算組資源,操作語法如下:

    CALL hg_alter_warehouse ('<warehouse_name>',<cu>);

    參數說明:

    參數

    類型

    說明

    warehouse_name

    TEXT

    需要調整的計算組名稱。

    cu

    INTEGER

    計算組的CU數。

    • 最大值:512。

    • 最小值:32。

    • 步長:16。

  2. 查詢計算組的狀態。

    由于調整計算組計算資源的過程是異步的,執行SQL后,并不代表計算組計算資源調整完成,需要您使用hg_get_warehouse_status函數查詢計算組的狀態。

    select hg_get_warehouse_status('<warehouse_name>');

    返回結果為Running,即計算組在Running狀態下,繼續下面步驟。

  3. Shard重分布。

    使用如下命令讓Shard重新分布到增加擴容的計算組上。

    SELECT hg_rebalance_warehouse ('<warehouse_name>');
  4. 查詢計算組的狀態。

    由于rebalance的過程是異步的,執行SQL后,并不代表rebalance調整完成,需要您使用如下命令查詢計算組的狀態。

    • hg_get_rebalance_warehouse_status函數返回當前計算組的狀態:

      SELECT hg_get_rebalance_warehouse_status ('<warehouse_name>');

      返回t即表示成功。

    • hg_wait_until_rebalance_warehouse_done函數可以直到指定計算組處于Running狀態時,再返回結果:

      select hg_wait_until_rebalance_warehouse_done('<warehouse_name>',<timeout_seconds>);

      其中timeout_seconds:非必填。代表返回超時時間,單位為秒,類型為INTEGER。

      返回DONE即表示成功。

使用示例

推薦使用如下SQL為read_warehouse_1計算組擴容至64CU:

-- 增加計算組的資源
CALL hg_alter_warehouse ('read_warehouse_1',64);

-- 等待計算組擴容完畢
SELECT wait_until_warehouse_running ('read_warehouse_1');

-- rebalance
SELECT hg_rebalance_warehouse ('read_warehouse_1');

-- 等待rebalance完畢
SELECT hg_wait_until_rebalance_warehouse_done ('read_warehouse_1');

縮容計算組計算資源

權限說明

  • 僅支持使用阿里云賬號或者RAM用戶縮容計算組,不支持STS賬號。

  • 縮容計算組計算資源需要具備以下權限:

    • RAM角色權限:AliyunHologresWarehouseFullAccess或AliyunHologresFullAccess權限

    • 實例內部的Superuser權限。

使用說明

  • 縮容時Hologres系統會先做Shard的Rebalance,將準備下線的Pod上的Shard遷移到其他Pod上。Rebalance中查詢和寫入會中斷15秒。Rebalance完成后,直接下線多余的Pods。

  • 縮容后,計算資源會歸屬到實例未分配資源中,您可以繼續使用該資源新建計算組或擴容其他計算組,也可以縮容實例以釋放該資源。

操作步驟

  1. 縮容計算組資源,操作語法如下:

    CALL hg_alter_warehouse ('<warehouse_name>',<cu>);

    參數說明:

    參數

    類型

    說明

    warehouse_name

    TEXT

    需要調整的計算組名稱。

    cu

    INTEGER

    計算組的CU數。

    • 最大值:512。

    • 最小值:32。

    • 步長:16。

  2. 查詢計算組的狀態。

    由于調整計算組計算資源的過程是異步的,執行SQL后,并不代表計算組計算資源調整完成,需要您使用hg_get_warehouse_status函數查詢計算組的狀態。

    select hg_get_warehouse_status('<warehouse_name>');

    返回結果為running,即計算組狀態為running狀態。

獲取計算組狀態

  • 命令格式

    • 使用如下SQL獲取計算組的當前狀態:

      select hg_get_warehouse_status('<warehouse_name>');
    • 由于Warehouse 的創建、擴縮容等都是異步執行的,有時候需要變更計算組狀態后再進行一些操作。此時可以使用wait_until_warehouse_running函數,該函數可以直到指定計算組處于Running狀態時,再返回結果,命令如下:

      select wait_until_warehouse_running('<warehouse_name>',<timeout_seconds>);
  • 參數說明

    參數

    類型

    說明

    warehouse_name

    TEXT

    需要獲取狀態的計算組名稱。

    timeout_seconds

    INTEGER

    返回超時時間,單位秒。非必填。

  • 使用示例

    使用如下SQL實現每次從表org_data向表res_data導入數據時,先擴容計算組,再導入數據,然后縮容計算組:

    -- warehouse_1擴容至64CU
    CALL hg_alter_warehouse ('warehouse_1',64);
    
    -- 等待warehouse_1擴容完成
    SELECT wait_until_warehouse_running('warehouse_1');
    
    -- 寫入數據
    INSERT INTO res_data SELECT * FROM org_data;
    
    -- warehouse_1縮回32CU
    CALL hg_alter_warehouse ('warehouse_1',32);

修改計算組名稱

  • 權限說明

    修改計算組名稱需要具備實例的Superuser權限。

  • 命令格式

    CALL hg_rename_warehouse('<org_warehouse_name>','<new_warehouse_name>');
  • 參數說明

    參數

    類型

    說明

    org_warehouse_name

    TEXT

    需要修改的計算組名稱。

    new_warehouse_name

    TEXT

    計算組的新名稱。

重啟計算組

  • 權限說明

    重啟計算組需要具備實例的Superuser權限。

  • 注意事項

    由于重啟計算組的過程是異步的,執行SQL后,并不代表計算組重啟完成,需要您使用hg_get_warehouse_status函數查詢計算組的狀態。

  • 命令格式

    CALL hg_restart_warehouse('<warehouse_name>');
  • 參數說明

    參數

    類型

    說明

    warehouse_name

    TEXT

    需要重啟的計算組名稱。

高級操作

計算組均衡分片(Rebalance)

Hologres實例在運行時,每個計算組的Worker節點會均勻地加載數據分片(Shard)的元數據。但是在某些場景下(例如觸發了快速恢復、擴容等),數據分片在Worker節點上分布不均,此時就需要觸發均衡分片操作,使系統主動的重新分配數據分片,最終讓計算組的Worker節點均勻加載Shard的元數據。

  • 權限說明

    觸發均衡分片操作需要具備實例的Superuser權限。

  • 注意事項

    • Hologres從 V2.1版本開始,如果計算組內發現有空的Worker節點(未加載任何Shard),計算組會自動觸發Rebalance。

    • Hologres從 V2.2版本開始,系統支持對計算組Rebalance期間執行的查詢(SELECT)自動重試,使得查詢能在適當延長執行時間后順利完成,不會出現如ERROR: fail to execute query internal error: Get rundown is not allowed in recovering state.異常報錯。

  • 命令格式

    SELECT hg_rebalance_warehouse ('<warehouse_name>');
  • 參數說明

    參數

    類型

    說明

    warehouse_name

    TEXT

    需要觸發均衡分片的計算組名稱。

  • 返回結果

    觸發均衡分片操作后,有如下返回結果:

    • true:表示Rebalance觸發成功,系統開始進行Rebalance操作。

    • false:表示無需Rebalance。

    • 報錯:表示Rebalance觸發失敗。例如存在Pod故障時,觸發Rebalance操作會報錯。

    說明
    • 執行Rebalance過程中,系統會計算是否需要Rebalance,最終達到均衡狀態,即每個Worker加載的Shard數量差異小于等于1。例如:

      • 如果有2個Worker,2個Shard,那么最終每個Worker都會分到1個Shard。

      • 如果有2個Worker,3個Shard,那么最終其中1個Worker會分到1個Shard,另一個Worker會分到2個Shard。

    • Rebalance操作通常需要2~3分鐘,執行時長和計算組中Table Group的數量有關,Table Group越多,Rebalance耗時越長。Rebalance過程中您的寫入大約會中斷15秒。

    • 由于Rebalance是異步執行,您可以使用如下SQL查看執行進度:

      SELECT hg_get_rebalance_warehouse_status('<warehouse_name>');

      返回結果為DOING表示正在執行Rebalance操作;返回結果為DONE表示Rebalance操作已完成。

設置計算組的超時時長

您可以通過設置statement_timeout參數,實現Session級別或數據庫級別的超時時長設置,詳情請參見GUC參數

針對計算組,可以執行如下命令,為計算組設置超時時長。該配置優先級低于上述Session級別和數據庫級別配置,因此需要先取消數據庫級別的配置。

-- 取消數據庫級別設置
ALTER DATABASE <db_name> RESET statement_timeout;

-- 設置計算組的超時時長為600s
CALL hg_alter_warehouse ('<warehouse_name>', <cu>, '{"configs":{"gucs":{"statement_timeout":"600000"}}}');