Druid 從控制檯(Druid console)中刪除過濾器和運行查詢

  1. 在 datasource 的樹中,單擊 __time 然後選擇 Remove Filter

     

  2. 單擊 Run 來運行這個查詢。你應該在返回的對話框中看到 2 列的數據,這個包括有 page name 和 count:

     

    需要注意的是,通過控制檯進行查詢的返回結果集被限制爲默認 100 條記錄,這是在 Smart query limit 特性中進行配置的。 

這個能夠幫助用戶避免在運行查詢的時候返回大量的數據,有可能會讓其系統過載。

  1. 讓我們對上面的查詢語句進行一些編輯來看看在查詢構建器中能夠提供那些特性,請在查詢構建起器中進行下面的一些修改:

  2. 第一列的 "page" 後面開始輸入一個新列的名字 "countryName"。請注意自動完成菜單將會針對你輸入的字符提示 列名,函數,關鍵字以及其他的內容 選擇 “countryName” 和添加新的列到 GROUP BY 語句中,可以通過名字或者位置 2 來完成操作。

  3. 爲了讓我們的 SQL 更加具有可讀性,將 Count 列的名字替換爲 Edits,這是因爲這一列是使用 COUNT() 函數來進行計算的,實際上的目的是返回編輯的次數。在 ORDER BY 語句中使用同樣的名字來進行排序。COUNT() 函數是 Druid 提供的多個可用函數的一個。你可以將你的鼠標移動到函數的名字上面,在隨後彈出的自動完成對話框中將會對函數的功能進行一個簡要的描述 同時,你可以可以通過 Druid 的文檔來了解更多的內容,例如, COUNT() 函數的文檔位於 Aggregation functions 頁面中。當完成上面的所有操作後,你的 SQL 腳本應該看起來和下面的是一樣的了:

SELECT
"page",
"countryName",
COUNT(*) AS "Edits"
FROM "wikipedia"
GROUP BY 1, 2
ORDER BY "Edits" DESC

當你對上面的 SQL 腳本再次運行以後,你會注意到我們會返回一個新的列(dimension)爲 countryName,但是這一列的大部分行的值都是空的。讓我們通過修改 SQL 來只顯示 countryName 不爲空的行。
2. 單擊 countryName 這一列,在左側的面部中選擇第一個過濾器(first filtering)的選項。這個過濾器的內容可能並不是我們想要的,我們會在後面對其進行編輯 WHERE 語句將會顯示在你的查詢中。

  1. 修改 WHERE 語句來將 countryName 不爲空的列去除掉。

WHERE "countryName" IS NOT NULL

然後再次運行修改後的 SQL 腳本,你應該可以只看到編輯次數最多的國家:

 

  1. 在 Druid 使用 SQL 進行查詢的後面,所有的 Druid SQL 查詢都可以被轉換爲基於 JSON 格式的 Druid native query 來在 Druid 的數據節點中進行查詢。你可以通過單擊查詢運行按鈕的後面... 然後選擇 Explain SQL Query 來進行查看。

儘管你可以在大部分的情況下使用 Druid SQL,但是如果你能夠了解 Druid 原生查詢的意義,那麼對你在問題解決和有關性能問題的調試上面會更加有效,請參考 Native queries 頁面來獲得更多信息。

 

 

另外一種通過純文本 JSON 格式查看 SQL 腳本的辦法就是在查詢腳本前面添加 EXPLAIN PLAN FOR, 如下所示:

EXPLAIN PLAN FOR
SELECT
"page",
"countryName",
COUNT(*) AS "Edits"
FROM "wikipedia"
WHERE "countryName" IS NOT NULL
GROUP BY 1, 2
ORDER BY "Edits" DESC

這種方式針對在控制檯工具上運行查詢腳本的時候非常有用。

  1. 最後,單擊 ... 然後選擇 Edit context 來查看你可以添加的其他參數來控制查詢的執行。在這個字段中,可以通過輸入基於 JSON 格式的 key-value 對,請參考 Context flags 頁面描述的更多內容。

上面就是我們如何通過使用 Druid 控制的查詢構建特性來構建的一個簡單的數據查詢。在本頁面的後續部分提供了更多的一些你可以嘗試使用的查詢實例。

同時請查看 進行查詢的其他方法 部分中的內容來了解如何 在命令行工具或者 HTTP 上運行 Druid SQL 查詢。

 



本文分享自微信公衆號 - CWIKIUS(CWIKIUS)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章