用pyspark開發使用者訪問量的top5程式

2021-10-06 10:24:07 字數 1629 閱讀 1173

資源檔案:

求使用者訪問量的top5

分析:1、將檔案的資料切割 —> map(lambda x:x.split("\t"))

2、拿到使用者,並轉換成(使用者,1)格式 —> map(lambda x:(x[5],1))

2、訪問量求和 —> reducebykey(lambda a,b:a+b)

2、反轉排序再反轉,取前五 —> map(lambda x:(x[1],x[0])).sortbykey(false).map(lambda x:(x[1],x[0])).take(5)

sc.

textfile

("/opt/bigdatas/page_views.dat").

map(lambda x:x.

split

("\t"))

.map

(lambda x:

(x[5],

1)).

reducebykey

(lambda a,b:a+b)

.map

(lambda x:

(x[1

],x[0]

)).sortbykey

(false)

.map

(lambda x:

(x[1

],x[0]

)).take(5

)

import sys

from pyspark import sparkcontext

from pyspark import sparkconf

"""topn 統計

"""if __name__ ==

'__main__':if

len(sys.ar**)!=2

:print

("統計topn "

,file=sys.stderr)

sys.

exit(-

1)conf =

sparkconf()

.setmaster

("local[2]").

("spark03"

) sc =

sparkcontext

(conf=conf)

counts = sc.

textfile

(sys.ar**[1]

).map(lambda x:x.

split

("\t"))\

.map(lambda x:

(x[5],

1)).

reducebykey

(lambda a,b:a+b)\

.map(lambda x:

(x[1

],x[0]

)).sortbykey

(false)

.map

(lambda x:

(x[1

],x[0]

)).take(5

)for

(word, count) in counts:

print

("%s : %i"

%(word, count)

) sc.

stop

()

Redis 如何統計獨立使用者訪問量?

1.hash 雜湊是 redis 的一種基礎資料結構,redis 底層維護的是乙個開雜湊,會把不同的 key 對映到雜湊表上,如果是遇到關鍵字衝突,那麼就會拉出乙個鍊錶出來。當乙個使用者訪問的時候,如果使用者登入過,那麼我們就是用使用者的 id,如果使用者沒有登入過,那麼我們也能夠前端頁面隨機生成乙...

Python 刷訪問量

ip通過 獲取,我使用的的是https 協議的 根據自己需求選擇http或者https 協議的頁面。廢話不多說,直接上 coding utf 8 from urllib import request import requests import random import time import r...

NGINX訪問量統計

1.根據訪問ip統計uv awk access.log sort uniq c wc l 2.統計訪問url統計pv awk access.log wc l 3.查詢訪問最頻繁的url awk access.log sort uniq c sort n k 1 r more 4.查詢訪問最頻繁的ip...