建立及管理持續具體化檢視表

本文說明如何在 Bigtable 中建立及對連續具體化檢視區執行作業。閱讀本文前,請先參閱「持續性 materialized view」一文的總覽。

您可以使用 Google Cloud CLI、 Google Cloud 控制台中的 Bigtable Studio 查詢編輯器,或是適用於 Java 和 Go 的 Bigtable 用戶端程式庫,建立持續具體化檢視區塊。

事前準備

如果您打算使用 gcloud CLI,請按照下列步驟操作。

  1. 安裝 Google Cloud CLI。

  2. 若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI

  3. 執行下列指令,初始化 gcloud CLI:

    gcloud init

必要的角色

如要取得建立及管理持續具體化檢視區塊所需的權限,請要求管理員授予您執行個體的 Bigtable 管理員 (roles/bigtable.admin) 角色。否則,請視要執行的作業,要求執行個體層級的下列權限:

  • 建立:bigtable.materializedViews.create
  • 更新狀態:bigtable.materializedViews.update
  • 刪除:bigtable.materializedViews.delete
  • 清單:bigtable.materializedViews.list

如要建立連續具體化檢視表,您也必須至少具備來源資料表的 bigtable.tables.readRows 權限。

如要查看所有可用的角色和權限,請參閱「使用 IAM 控管 Bigtable 存取權」。

建立持續性具體化檢視表

建立持續性具體化檢視區塊前,請先執行下列操作:

  • 選用:最佳做法是為執行個體中的叢集啟用自動調度資源,確保叢集在 Bigtable 處理及同步處理持續具體化檢視區塊時,可以視需要擴充資源,並處理任何額外的儲存空間用量
  • 找出您有權讀取的 Bigtable 資料表,做為連續具體化檢視的來源。
  • 準備定義持續增補 materialized view 的 SQL 查詢。如需查詢規定,請參閱「持續性 materialized view 查詢」。

建立連續具體化檢視區塊後,Bigtable 會完成初始填入作業。這個程序完成後,檢視畫面才會啟用並可供查詢。您可以查看檢視區塊的指標,監控檢視區塊的進度。如要瞭解如何在初始填入完成前查詢檢視區塊,請參閱「在初始填入期間讀取資料」。

控制台

  1. 在 Google Cloud 控制台中開啟 Bigtable 執行個體清單。

    開啟執行個體清單

  2. 選取執行個體。

  3. 在導覽窗格中,按一下「Bigtable Studio」

  4. 按一下 開啟新分頁,然後選擇「編輯器」

    1. 查詢編輯器隨即顯示,請編寫查詢。如果查詢是有效的 SQL,系統會顯示「有效」訊息。

    2. 選用:如要以 SQL 樣式設定陳述式格式,請按一下「格式」

    3. 按一下「執行」。查詢結果會顯示在「結果」表格中。

    4. 確認查詢內容正確無誤後,按一下「另存為」展開箭頭,然後選擇「另存為 materialized view」

  5. 在「Save your materialized view」(儲存具體化檢視) 對話方塊中,輸入檢視名稱,然後按一下「Save」(儲存)

    如要進一步瞭解如何使用查詢編輯器,請參閱「使用 Bigtable Studio 管理資料」。

gcloud

如要建立連續具體化檢視表,請使用 gcloud bigtable materialized-views create 指令:

    gcloud bigtable materialized-views create VIEW \
            --instance=INSTANCE --query=QUERY

更改下列內容:

  • VIEW:持續具體化檢視表的專屬 ID。查詢連續具體化檢視區塊時,您會使用這個 ID 做為資料表 ID。
  • INSTANCE:要建立持續 materialized view 的執行個體 ID。必須與來源資料表位於相同執行個體。
  • QUERY:定義持續增補 materialized view 的有效 SQL 陳述式。

這項指令支援以下的選用標記:

  • 如要為連續具體化檢視區啟用防刪除功能,請在指令中附加 --deletion-protection=DELETION_PROTECTION。將 DELETION_PROTECTION 替換為 truefalse
  • 如果 SQL 查詢使用非確定性函式,請在指令中附加 --ignore-warnings 旗標。這個標記可確保您瞭解這些函式可能會導致不同叢集針對相同檢視區塊產生不同結果。如果省略這個標記,查詢驗證就會失敗。

更新持續性具體化檢視表

您可以更新連續具體化檢視的防刪除設定。您無法更新定義持續增補 materialized view 的 SQL 查詢;如要修改查詢,請刪除持續增補 materialized view,然後建立包含變更的新檢視表。

控制台

您無法在控制台中更新持續性具體化檢視表。 請改用 gcloud CLI。

gcloud

如要啟用或停用連續 materialized view 的防刪除功能,請使用 gcloud bigtable materialized-views update 指令。

gcloud bigtable materialized-views update VIEW \
        --instance=INSTANCE --deletion-protection=DELETION_PROTECTION

更改下列內容:

  • VIEW:要更新的持續具體化檢視區塊專屬 ID
  • INSTANCE:包含連續 materialized view 的執行個體 ID
  • DELETION_PROTECTIONtruefalse

刪除持續性具體化檢視表

您可以刪除未啟用防刪除功能的連續具體化檢視區塊。請注意,初始化後即無法復原。

控制台

  1. 在 Google Cloud 控制台中開啟 Bigtable 執行個體清單。

    開啟執行個體清單

  2. 從清單中選取執行個體。

  3. 在導覽窗格中,按一下「Bigtable Studio」

  4. 展開「具體化檢視表」

  5. 找到要刪除的檢視畫面,然後依序點按旁邊的「更多」圖示 more_vert 和「刪除」

gcloud

如要刪除連續具體化檢視區塊,請使用 gcloud bigtable materialized-views delete 指令:

gcloud bigtable materialized-views delete VIEW \
      --instance=INSTANCE

更改下列內容:

  • VIEW:要刪除的連續具體化檢視區塊專屬 ID
  • INSTANCE:包含連續具體化檢視區塊的執行個體 ID

取得持續性 materialized view 清單

您可以查看執行個體的持續性具體化檢視清單。

控制台

  1. 在 Google Cloud 控制台中開啟 Bigtable 執行個體清單。

    開啟執行個體清單

  2. 從清單中選取執行個體。

  3. 在導覽窗格中,按一下「Bigtable Studio」。系統會顯示持續性 materialized view 清單。

  4. 選用:系統會列出執行個體中的前 10 個檢視區塊。如要查看另外 10 個,請按一下「顯示更多」

gcloud

如要列出執行個體的所有連續具體化檢視區塊,請使用 gcloud bigtable materialized-views list 指令。

gcloud bigtable materialized-views list --instance=INSTANCE

INSTANCE 替換為執行個體 ID。

後續步驟