在控制台中建構查詢

您可以使用 Bigtable Studio 查詢產生器查詢及查看 Bigtable 資料。查詢產生器是 Google Cloud 控制台中的互動式表單,可讓您建構查詢、針對資料表執行查詢,然後在控制台中查看結果。

您可以使用 Bigtable Studio 查詢建構工具,透過下拉式選取器指定查詢子句組合,不必編寫應用程式或使用 CLI。執行查詢時,主控台會呼叫 Bigtable Data API,傳回符合查詢的資料。

本文說明如何使用查詢產生器,並提供查詢最佳化訣竅。閱讀本頁之前,請先熟悉 Bigtable 總覽

在查詢產生器中執行的查詢,與傳送至資料表的任何其他查詢一樣,適用相同的定價和配額。

查詢產生器的使用時機

在Google Cloud 控制台中查詢 Bigtable 資料有助於執行下列操作:

  • 快速取得資料表結構定義的視覺化呈現方式。
  • 確認特定資料已成功寫入。
  • 在遷移期間驗證資料完整性。
  • 偵錯可能的資料問題。
  • 在程式碼中使用子句組合前,請先預覽該組合傳回的結果。這對 Bigtable 新手和不想使用 cbt CLI 的經驗豐富使用者來說,特別有幫助。

事前準備

如要取得使用查詢建構工具所需的權限,請要求管理員為您授予專案的 Bigtable 讀取者 (roles/bigtable.reader) 身分與存取權管理角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

這個預先定義的角色具備使用查詢產生器所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:

所需權限

如要使用查詢產生器,必須具備下列權限:

  • bigtable.tables.get
  • bigtable.instances.get
  • bigtable.appProfiles.list
  • bigtable.tables.list
  • bigtable.tables.readRows

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

如果沒有可供查詢的資料表,可以建立小型測試資料表,並對該資料表執行查詢。

開啟查詢產生器

開啟查詢建構工具時,系統會執行預設查詢,並顯示執行個體中按字母順序排列的第一個資料表。預設查詢會使用預設應用程式設定檔執行,最多傳回 100 個資料列。

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

    開啟執行個體清單

  2. 按一下包含要查詢資料表的執行個體名稱。

  3. 在導覽窗格中,按一下「Bigtable Studio」。「Bigtable Studio」頁面會以查詢建立工具模式開啟。「Explorer」(探索工具) 窗格會列出執行個體中的資料表,「Query results」(查詢結果) 窗格則會顯示預設查詢的結果。

  4. 選用步驟:收合「Explorer」窗格,放大查詢產生器窗格。

資料顯示格式

查詢產生器結果會顯示在表格中。第一個標題和資料欄是「資料列鍵」。其餘標題各代表 Bigtable 資料表中的一個資料欄,以半形冒號分隔資料欄系列和資料欄限定詞。舉例來說,標題「cell_plan: data_plan_01gb」表示該資料欄中的值來自 cell_plan 資料欄系列中的 data_plan_01gb 資料欄。

下拉式選單

系統只會傳回資料欄的最新值。時間戳記預設為隱藏,但你可以點選切換鈕來顯示。

選取資料表

使用「資料表」下拉式選單,選取要查詢的資料表 ID。

選用:指定應用程式設定檔

您可以建立專供查詢建構工具使用的應用程式設定檔。舉例來說,如果您想使用與主要應用程式不同的叢集,隔離查詢流量,這項功能就相當實用。

如要使用其他應用程式設定檔執行下一個查詢,請按照下列步驟操作。

  1. 按一下「新增至查詢」
  2. 按一下「變更應用程式設定檔 (預設)」。系統會顯示新的下拉式選單。
  3. 使用「應用程式設定檔」下拉式選單,從執行個體的應用程式設定檔清單中選擇。

如要進一步瞭解針對不同工作負載使用不同應用程式設定檔的優點,請參閱「關於應用程式設定檔」。如要瞭解如何建立應用程式設定檔,請參閱「建立及設定應用程式設定檔」一文。

如果資料表位於使用複製功能的執行個體中,請設定應用程式設定檔,從地理位置最接近您的叢集讀取資料。

在查詢中新增子句,然後執行查詢

  1. 選取表格和應用程式設定檔後,請在查詢中新增子句。 如要瞭解可用的條款,請參閱下一節。
  2. 新增完所有子句後,按一下「執行」
  3. 查看結果。

查詢子句

您可以使用查詢建構工具,在查詢中加入子句。執行查詢時,查詢產生器會建立並傳送讀取要求至資料表。如要進一步瞭解讀取要求,請參閱「讀取」。

資料列索引鍵、資料列索引鍵範圍和資料列索引鍵前置字串子句,會決定從儲存空間擷取的資料列。資料列鍵的 regex、資料欄和時間範圍子句會將篩選器新增至產生的讀取要求。在查詢產生器中使用的篩選條件,與在用戶端程式庫中使用的篩選條件相同。如要進一步瞭解 Bigtable 篩選器,以及使用篩選器對效能的影響,請參閱「篩選器」和「使用篩選器」。

指定資料列索引鍵

如要從資料表擷取單一資料列,請提供資料列鍵值。您可以新增多個資料列鍵子句。

  1. 按一下「新增至查詢」
  2. 在下拉式清單中,選取「資料列鍵」
  3. 輸入要查看值的資料列鍵確切值。

指定資料列索引鍵範圍

如要從資料表擷取資料列範圍,請指定開始和結束資料列鍵。Bigtable 會依資料列索引鍵的字典順序儲存資料。

  1. 按一下「新增至查詢」
  2. 在下拉式清單中,選取「資料列鍵範圍」
  3. 輸入完整的起始資料列索引鍵。
  4. 輸入完整的結尾資料列索引鍵。

指定資料列索引鍵前置字串

如要只擷取資料列鍵開頭為特定字元集的資料列,請依資料列鍵前置字元篩選。資料列索引鍵前置字串是資料列索引鍵的前 N 個字元。按照慣例,前置字元和其餘資料列鍵之間通常會有井號、管道或其他符號。

  1. 按一下「新增至查詢」
  2. 在下拉式清單中,選取「資料列鍵前置字元」
  3. 輸入資料列索引鍵前置字串。不需要輸入任何萬用字元。

依資料列索引鍵規則運算式篩選

如要只取得資料列索引鍵值符合指定規則運算式的資料列,請使用資料列索引鍵規則運算式篩選器。如要提升效能,請先在查詢中加入資料列索引鍵範圍或資料列索引鍵前置字串子句,再加入資料列索引鍵規則運算式篩選器。如需編寫規則運算式的指引,請參閱資料列索引鍵規則運算式

  1. 按一下「新增至查詢」
  2. 在下拉式清單中,選取「資料列鍵規則運算式」
  3. 輸入使用 re2 語法的規則運算式

依欄篩選

如要指定要在查詢中納入的一或多個資料欄,請新增 columns 子句,並為要篩選的每個資料欄選擇資料欄系列和資料欄限定詞。加入這個子句時產生的讀取要求,會包含資料欄系列 regex 篩選器資料欄範圍篩選器

  1. 按一下「新增至查詢」
  2. 在下拉式清單中,選取「資料欄」
  3. 按一下「欄」欄位。畫面上會顯示資料欄系列清單。
  4. 按一下資料欄系列 ID。系統會顯示欄限定詞清單。
  5. 按一下資料欄限定詞。

依時間範圍篩選

如要只擷取時間戳記落在特定範圍內的儲存格,請新增時間範圍子句,該子句會使用時間戳記範圍篩選器

  1. 按一下「新增至查詢」
  2. 在下拉式清單中選取「時間範圍」
  3. 輸入起始時間戳記。
  4. 輸入結束時間戳記。

請使用下列其中一種格式提供時間戳記:

  • 以微秒為單位的 Unix 時間戳記,例如 3023483279876000
  • YYYY-MM-DDThh:mm:ss:ss[z]
  • YYYY/MM/DD-hh:mm:ss.sss[z]
  • MM/DD/YYYY
  • YYYY/MM/DD

選用的 T 是表示時間的常值,選用的 z 則表示世界標準時間,而非當地時間。如要進一步瞭解時間戳記格式,請參閱 ISO 8601

指定限制

如要指定傳回的資料列數量上限,請新增限制子句。

  1. 按一下「新增至查詢」
  2. 在下拉式清單中選取「限制」
  3. 請輸入介於 1 到 1,000 之間的數字。

限制

查詢產生器有以下限制。

  • 每個儲存格最多 1,000 個字元:Bigtable 每個儲存格最多會傳回 1,000 個字元。如果儲存格包含超過 1,000 個字元,系統會顯示截斷的結果,並註記未顯示的字元數。
  • 最多 100 個資料欄:Bigtable 會傳回每個資料列中與查詢相符的前 100 個資料欄。資料欄系列不會以任何特定順序儲存,但資料欄會按資料欄系列中的字母順序排序。
  • 最多 1,000 列:查詢產生器最多只會傳回符合查詢條件的前 1,000 列資料。
  • Base64 - Bigtable 會盡力準確顯示 Base64 編碼資料,但無法保證結果。如果 Bigtable 無法在儲存格中顯示資料,則會改為顯示儲存格值的大小 (以位元組為單位)。
  • 舊資料:您只能擷取所查詢資料欄中最新的儲存格 (或版本)。如要進一步瞭解這個概念,請參閱 Bigtable 儲存模型一般概念

  • 序列化資料 - 以 Protocol Buffers 形式儲存的資料不會正確顯示在查詢結果中。系統會盡量支援 JSON 資料,但不保證顯示正確。

  • 人工時間戳記:如果應用程式在將資料寫入表格時,為儲存格的時間戳記屬性指派非時間戳記的數字,只要將這些數字指定為微秒,即可在查詢中使用時間範圍篩選器,取得您使用的值範圍 (而非時間戳記)。如要瞭解資料表資料為何可能使用人工時間戳記,請參閱時間戳記

後續步驟