GeoHash企业级大数据 用户画像实战应用项目 GeoHash大数据项目实战

GeoHash企业级大数据 用户画像实战应用项目 GeoHash大数据项目实战

      作为一个资深技术死宅,我已经是懒癌晚期了,一日三餐基本都懒得做,以前家里堆了各家餐馆的外卖单子,自从有了外卖app,省力省心呀。最爱用的是饿了么,主要是补贴多,但是用着用着我职业病突然犯了。饿了么给用户推送的餐馆信息是按距离排序的,离用户越近的,在餐馆列表中越靠前。这是怎么做到的呢?

       App后台获取自己的地图位置P,计算所在位置P与北京所有餐馆的距离,然后返回距离<=1000米的餐馆。但是北京的餐馆何其多啊,这样计算不得了,于是想了,既然知道经纬度了,那应该知道自己在朝阳区,那应该计算所在位置P与朝阳区所有餐馆的距离啊,但是朝阳区也很多餐馆啊,应该计算所在位置P与所在街道所有餐馆的距离,这样计算量又小了,效率也提升了。就是通过过滤的方法来减小参与计算的餐馆数目,从某种角度上讲,这里使用索引技术。

  一提到索引,大家脑子里马上浮现出B树索引,因为大量的数据库(如MysqL、oraC++le、PostgreSQL等)都在使用B树。B树索引本质上是对索引字段进行排序,然后通过类似二分查找的方法进行快速查找,即它要求索引的字段是可排序的,一般而言,可排序的是一维字段,比如时间、年龄、薪水等等。但是对于空间上的一个点(二维,包括经度和纬度),如何排序呢?又如何索引呢?解决的方法很多,下文介绍一种方法来解决这一问题。

  思想:如果能通过某种方法将二维的点数据转换成一维的数据,那样不就可以继续使用B树索引了嘛。那这种方法真的存在嘛,答案是肯定的。目前很火的GeoHash算法就是运用了上述思想,GeoHash将二维的经纬度转换成字符串,每一个字符串代表了某一地图区域,通过对比字符串来计算距离。不仅外卖app,地图app,大众点评等生活商圈app,都是这样来给用户推荐附近商家的。

关于GeoHash的学习,我这里有一套葵花宝典,赠送给大家

————————–
GeoHash算法能完美的解决地图定位功能中关于按距离排序的需求,比如App中摇一摇附近的人,推荐附近商户等功能是怎么实现的?在用户图像中, ,生活圈等商业兴趣?

1)GeoHash用一个字符串表示经度和纬度两个坐标,比如我现在所在位置的GeoHash值为 wx4sv61q;
2)GeoHash标识的并不是一个点,而是一个区域,比如 wx4sv61q 对应的就是一个矩形区域;
3)编码的前缀可以标识更大的区域,比如 wx4sv61 编码代表的区域要大于 wx4sv61q 代表的区域,但是 wx4sv61q 代表的区域一定在 wx4sv61 代表的区域内。
      因此我们再去做距离检索的时候,只需要对GeoHash进行前缀匹配即可,具体的实现请看视频

视频重点:

GeoHash算法应用的具体场景,GeoHash算法的实现原理与常见的问题,Base32编码的用法,百度地图GeocodingAPI的应用与实战,GeoHash算法在用户画像上的实战应用

———————-课程目录——————————

1.0.实战案例简述.wmv
1.1.业务背景说明.wmv
2.1.感性认识GeoHash算法.wmv
2.2.GeoHash算法实现.wmv
2.3.Base32编码长度与精度.wmv
2.4.GeoHash算法原理.wmv
2.5.GeoHash算法的边界问题.wmv
3.1-2.GeocodingAPI及使用说明.wmv
3.3.GeocodingAPI代码实战.wmv
4.1.GeoHash实战业务流程.wmv
4.2.1.创建应用库数据表.wmv
4.2.2.查询并导入数据到Hbase表中.wmv
4.2.3.查询hbase表,调用百度地图API进行标签识别.wmv
4.2.4.打标签主体代码说明.wmv
4.2.5.打标签代码详解1.wmv
4.2.6.打标签代码详解2.wmv
4.3.1.创建表&导入数据.wmv
4.3.2.调用GeocodingAPI进行数据查询.wmv
4.3.3.打标签任务集群运行.wmv
4.3.3.打标签流程讲解.avi
5.总结.wmv


下载地址已隐藏,请充值VIP或者加客服微信免费获取↓↓↓

本站所有课程都免费,请加客服企业微信回复网址或者名称即可免费获取下载链接地址

没有账号? 忘记密码?