跟天齐老师学Spark(8)--Spark RDD综合练习

本文介绍了如何利用Spark处理基站日志数据,通过计算用户在不同基站的停留时间,确定其可能的工作和居住地点。通过模拟的基站日志和基站信息,展示了数据处理过程,包括数据切分、聚合、连接操作,以找出用户在特定时间段停留最久的基站,从而推测其生活习惯。
摘要由CSDN通过智能技术生成
综合练习:通过基站信息计算家庭地址和工作地址

需求:根据手机信号来计算其所在的位置
手机一开机,就会和附近的基站建立连接,建立连接和断开连接都会被记录到服务器上的日志,
所以即使没手机有开启网络或者GPS,也可以定位手机所在的位置。基站都有一定的辐射范围,
并且根据信号强度有不同的信号级别,比如2G、3G和4G信号。

我们虽然不知道手机用户所在的具体位置,但是我们知道基站的位置,手机用户一旦进入基站的
辐射范围,手机就会和基站之间建立连接。我们就可以计算用户大致的位置。我们就可以根据这
些位置信息做一些推荐广告。比如附近的商家,你可能喜欢的商品或者服务。

假如现在我们得到了一些位置数据,比如有手机号、建立连接的标记(比如1)、断开连接的标记(比如0)、
建立连接的时间戳、断开连接的时间戳等字段。用断开连接的时间减去建立连接的时间就是用户在该基站下
停留的时间。但是这种计算方式不是很好,因为在实际中用户可能会停留好几天的情况,或者说有建立连接但是
没有断开连接的情况。所以这里面其实还会有一个会话的概念。

其实基站不是一直保持连接的,它可能每隔一段时间他会自动断开一次。比如每隔一天就断开一次。
每个基站都有一个基站ID,这是一个UUID。所以可能还会一个和基站相关的基站表,比如基站的id和经纬度等信息。

我们应该将两个表进行join才能得到用户在基站下停留的时间等信息。

这里我们先不考虑会话id的概念。我们这里只是求某个用户白天和晚上等某个时间段停留时间的从高到低进行排序。
比如早晨8点到晚上6点之间停留时间最长的我们可以认为是用户的工作地点。相反&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十光年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值