国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網 會員登陸 & 注冊

案例 | 通過PySpark實現城市熱點大數據統計

2023-02-22 14:00 作者:ingemar-  | 我要投稿

1 需求分析


在互聯網中,我們經常會見到城市熱點圖這樣的報表數據,例如在百度統計中,會統計今年的熱門旅游城市、熱門報考學校等,會將這樣的信息顯示在熱點圖中。我們根據每個用戶的IP地址,與我們的IP地址段進行比較,確認每個IP落在哪一個IP端內,獲取經緯度,然后繪制熱力圖。

因此,我們需要通過日志信息(運行商或者網站自己生成)和城市ip段信息來判斷用戶的ip段,統計熱點經緯度。


2 技術調研


因為我們的需求是完成一張報表信息,所以對程序的實時性沒有要求,所以可以選擇內存計算spark來實現上述功能。


3 數據準備


ip日志信息

城市ip段信息


4 代碼開發(fā)


整體步驟:

1、加載城市ip段信息,獲取ip起始數字和結束數字,經度,維度

2、加載日志數據,獲取ip信息,然后轉換為數字,和ip段比較

3、比較的時候采用二分法查找,找到對應的經度和維度

4、然后對經度和維度做單詞計數

完整代碼:

整體步驟


5 廣播變量的使用


要統計Ip所對應的經緯度, 每一條數據都會去查詢ip表

每一個task 都需要這一個ip表, 默認情況下, 所有task都會去復制ip表

實際上 每一個Worker上會有多個task, 數據也是只需要進行查詢操作的, 所以這份數據可以共享,沒必要每個task復制一份

可以通過廣播變量, 通知當前worker上所有的task, 來共享這個數據,避免數據的多次復制,可以大大降低內存的開銷

sparkContext.broadcast(要共享的數據)


案例 | 通過PySpark實現城市熱點大數據統計的評論 (共 條)

分享到微博請遵守國家法律
慈溪市| 西宁市| 德州市| 亚东县| 襄垣县| 营口市| 汝城县| 同心县| 文成县| 财经| 永和县| 溆浦县| 中宁县| 弥勒县| 赤城县| 定兴县| 沂南县| 齐齐哈尔市| 化州市| 南召县| 临颍县| 资阳市| 永泰县| 安图县| 扎鲁特旗| 泸西县| 黔西| 西峡县| 祁东县| 泉州市| 尉犁县| 漯河市| 德江县| 土默特右旗| 合作市| 湖南省| 柘荣县| 天门市| 卢龙县| 喜德县| 岚皋县|