日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Druid 分析报表中的实战(一)

發布時間:2024/1/17 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Druid 分析报表中的实战(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

產品又過來提需求了!

?

案例需求

需要按日匯總充值總數的數據。

過濾條件:

  • 用戶包括:“Tom”和“Jack”
  • 所有城市:“北京”、“上?!薄ⅰ皬V州”和“深圳”
  • 日期范圍:“2020-03-01”到“2020-03-05”
  • 我們用SQL語句表示一下產品需要什么數據,能夠直觀的理解需求,SQL表達如下:

    SELECT date,SUM(rechange) AS rechange FROM user_recharge_record WHERE date>='2020-03-01' AND date<='2020-03-05' AND user_name IN ('Tom', 'Jack') AND city IN ('北京','上海','廣州','深圳') GROUP By create_date;

    druid常用的三種數據查詢類型:Timeseries,TopN,GroupBy。

    Timeseries:按照指定日期時間段查詢規則返回聚合合的結果集,查詢規則中可以設置查詢粒度、維度,過濾條件和排序方式,并且支持后聚合。返回一個JSON對象數組。

    Timeseries其中主要七個部分:

    property

    description

    required?

    queryType

    查詢類型:如:Timeseries、GroupBy,TopN

    yes

    dataSource

    數據源,類似于MySQL的數據表

    yes

    descending

    是否降序,默認為false

    no

    intervals

    間隔,也是查詢日期范圍,結束日期向后加1

    yes

    granularity

    查詢粒度

    yes

    filter

    過濾條件

    no

    aggregations

    聚合器

    no

    postAggregations

    后聚合器

    no

    context

    可以修復查詢行為,包括總計和零填充。應用于所有查詢類型的參數。

    no

    根據當前的需求,我們可以用Timerseries查詢類型來計算指標。

    查詢樣例

    {"queryType": "timeseries", // 查詢的類型"dataSource": "user_recharge_record", // 數據源"granularity": "day", // 指定日期聚合分區,按照每天的日期維度匯總數據"filter": { // 過濾條件"type": "and","fields": [{"dimension": "user_name","type": "in","values": ["Tom", "Jack"]},{"dimension": "city","type": "in","values": ["北京", "上海", "廣州", "深圳"]}]},"context": {"timeout": 28000 // 超時時間},"aggregations": [ // 聚合器 {"name": "rechange", // 聚合后輸出的名字"type": "doubleSum", // 數值類型累加"fieldName": "rechange" // 聚合時使用的指標列名稱} ], "intervals": "2020-03-01\/2020-03-06" // 日期區間 }

    Results:

    [{"timestamp": "2020-03-01T00:00:00.000+08:00","result": {"rechange": 21195.0}},{"timestamp": "2020-03-02T00:00:00.000+08:00","result": {"rechange": 29785.0}},{"timestamp": "2020-03-03T00:00:00.000+08:00","result": {"rechange": 31123.0}},{"timestamp": "2020-03-04T00:00:00.000+08:00","result": {"rechange": 33818.0}},{"timestamp": "2020-03-05T00:00:00.000+08:00","result": {"rechange": 33658.0}} ]

    返回結果:

    ?

    搞定需求,可以回家啦!

    ?

    參考

    https://druid.apache.org/docs/latest/querying/timeseriesquery.html

    總結

    以上是生活随笔為你收集整理的Druid 分析报表中的实战(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。