最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

案例 | 通過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實現城市熱點大數據統計的評論 (共 條)

分享到微博請遵守國家法律
尉犁县| 高安市| 普兰店市| 宁明县| 泸州市| 浏阳市| 略阳县| 凤阳县| 临邑县| 锦州市| 泊头市| 泽州县| 武宣县| 曲靖市| 维西| 出国| 剑阁县| 滨州市| 德钦县| 建湖县| 岳普湖县| 山阴县| 六安市| 安阳县| 鄱阳县| 涞水县| 正定县| 石嘴山市| 湛江市| 惠安县| 许昌市| 福建省| 扎兰屯市| 桑植县| 桓台县| 大新县| 行唐县| 古田县| 汉沽区| 汉寿县| 瑞丽市|