Spark项目练习(计算用户停留时间最长的两个小区)

https://blog.csdn.net/sonicgyq_gyq/article/details/79196895

其中bs_log文件夹数据格式为(手机号,时间戳,基站ID,连接状态(“1”为连接,“0”为断开))

lac_info.txt 文件数据格式为(基站ID,经度,纬度,信号辐射类型)

程序思路:

1, 先根据"手机号,基站ID"构成一个元祖,做为唯一标识, 和时间戳构成新的数据结构->(手机号, 站点, 时间戳)

2、(手机号,基站ID)作为key,通过reduceByKey算子进行聚合,计算出在基站的停留时间,构成新的数据结构,以便和坐标数据进行join,->(基站ID,(手机号,停留时间))

3、将基站坐标数据信息通过map,构建成数据类型 ->(基站ID,(经度,纬度))

4、将2、3进行join操作,构成新的数据类型 ->(手机号,基站ID,停留时间,经度,纬度)

5、按手机号进行分组。->(手机号,(手机号,基站ID,停留时间,经度,纬度))

6、取出停留时间最长的两个基站ID。

--------------------- 作者:Allen-Gao 来源:CSDN 原文:https://blog.csdn.net/sonicgyq_gyq/article/details/79196895?utm_source=copy 版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(Spark)