spark 統計每天新增使用者數

2021-09-19 22:32:07 字數 1017 閱讀 3641

本文源自一位群友的一道美團面試題,解題思路(基於倒排索引)和**都是這位大佬(相對於尚處於小白階段的我)寫的,我只是在基於倒排索引的基礎上幫忙想出了最後一步思路,感覺這個解題思路不錯,值得記錄一下。

2017-01-01

a2017-01-01 b

2017-01-01 c

2017-01-02

a2017-01-02 b

2017-01-02 d

2017-01-03 b

2017-01-03 e

2017-01-03 f

根據資料可以看出我們要求的結果為:

2017-01-01 新增三個使用者(a,b,c)

2017-01-02 新增乙個使用者(d)

2017-01-03 新增兩個使用者(e,f)

結果如下:

使用者名列一

列二列三

a2017-01-01

2017-01-02

b2017-01-01

2017-01-02

2017-01-03

c2017-01-01

d2017-01-02

e2017-01-03

f2017-01-03

這樣我們只看列一,統計每個日期在列一出現的次數,即為對應日期新增使用者數。

package com.dkl.leanring.spark.test

import org.apache.spark.sql.sparksession

object

newuvdemo

}

結果:

(2017-01-03,2)

(2017-01-02,1)

(2017-01-01,3)

附圖:

實現統計某個月內每天新增使用者數的方法

現在有乙個需求 管理員選擇某乙個月份,然後顯示這個月每天的新增使用者數。首先獲得管理員選擇的日期,然後獲得本月的起始時間戳和結束時間戳,在通過和member表中的addtime欄位進行比較,從而獲得當月新增的使用者列表,這個是不難實現的。那麼要怎麼獲得每日的新增使用者數量呢?如果要用select c...

實現統計某個月內每天新增使用者數的方法

如今有乙個需求 管理員選擇某乙個月份,然後顯示這個月每天的新增使用者數。首先獲得管理員選擇的日期,然後獲得本月的起始時間戳和結束時間戳,在通過和member表中的addtime欄位進行比較,從而獲得當月新增的使用者列表。這個是不難實現的。那麼要怎麼獲得每日的新增使用者數量呢?假設要用select c...

併發使用者數和QPS

關於併發使用者數和qps,自己一直被這兩個概念糾結,閱讀了一下相關資料,總結如下 併發 使用者數和qps兩個概念沒有直接關係,但是如果要說qps時,一定需要指明是多少併發使用者數下的qps,否則豪無意義,因為單使用者數的40qps和20並 發使用者數下的40qps是兩個不同的概念。前者說明該應用可以...