1 【数仓模块-字典构建篇】
1.1 地理位置字典构建
1.1.1 需求说明
在埋点日志中,有用户的地理位置信息,但是原始数据形式是GPS坐标;
但是GPS坐标在后续(地理位置维度分析)的分析中不好使用!
直接去匹配两个哪怕距离很近的gps坐标,很可能都匹配不上!
gps坐标的匹配,不应该做这种精确匹配,应该做范围匹配;
公司通过某渠道,收集到一批地理位置信息数据,只是数据格式需要加工:
![975258d6457f8cabb6bc9dc67292af0b.png](https://img-blog.csdnimg.cn/img_convert/975258d6457f8cabb6bc9dc67292af0b.png)
加工的结果格式要求为:
GEOHASH码, 省,市,区
![a8fc3b046a8fb2ab895ae0eeff5c676f.png](https://img-blog.csdnimg.cn/img_convert/a8fc3b046a8fb2ab895ae0eeff5c676f.png)
结果表数据,存放在HDFS即可(parquet格式);
具体实现方式不限!
1.1.2 新技能:GeoHash编码
在geo领域,gps坐标,可以转化成一种编码:GeoHash编码(如wx3y),这种码有一个特点:
两个gps坐标的位置越近,这两个坐标的geohash码的相同的位数更多,只有更少的几位尾数不同!如下所示:
wx3y569
wx3y434
GeoHash编码的基本原理:
不断地将地球的经度、纬度范围,进行二分,输出1/0比特,形成一串二进制码(二分的次数越多,