簡體   English   中英

Druid 按星期幾和星期幾分組

[英]Druid Group by Day of Week and Hour of Day

我正在嘗試找到如何按星期幾分組,以及在 Druid 中按小時分組。 我在這里依賴德魯伊文檔: https://druid.apache.org/docs/latest/querying/sql.html .以下所有功能都來自此頁面

我知道 Druid 有一個 function TIME_SHIFT(<timestamp_expr>, <period>, <step>, [<timezone>])可以根據 ISO8601 標准中的周期四舍五入時間戳,然后我們可以按四舍五入分組時間戳來實現我們想要的按天時間段分組。

  1. 但是,如果我想按星期幾分組,以便匯總一段時間內所有星期一、星期二、星期三、...、星期日收到的所有銷售收入,該怎么辦? 我知道有一個TIME_EXTRACT(<timestamp_expr>, [<unit>, [<timezone>]]) function,我可以通過使用這個 function 和 = DOW (day of week) 來實現我想要的轉換每個時間戳到一個數字(1 到 7),然后按每個提取的值分組。 那是對的嗎?
  2. 如果我想按小時分組怎么辦? 我在本手冊中沒有看到“一天中的小時”單位。

先感謝您!

編輯:它似乎正在工作; 但是,有沒有辦法讓它打印出星期一、星期二、星期三……而不是 1-7 的數字? 我想我可能可以在 select 塊中手動進行某種類型的轉換,但我想知道是否有更好的方法? 再次感謝!

TIME_EXTRACT(<timestamp_expr>, HOUR)不會這樣做嗎?

對於日期名稱,我相信您可以使用:

TIME_FORMAT(<timestamp_expr>, [<pattern>, [<timezone>]])

對於模式,您似乎可以使用“EEEE”(用於日期名稱的全文形式)。

每天計算行數,最新條目優先。

SELECT
  TIME_FORMAT(__time, 'yyyy-MM-dd'),
  COUNT(*)
FROM example_datasource_name
GROUP BY TIME_FORMAT(__time, 'yyyy-MM-dd')
ORDER BY 1 DESC

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM