美文网首页
记一次BUG

记一次BUG

作者: 达微 | 来源:发表于2019-12-06 10:07 被阅读0次

    一、如何快速的给大量轨迹点打上区划代码?
    1、高德爬取街道中心点,行政区划中心点和边界。
    2、精度要求较高的,将边界加载到内存。不高的通过redisgeo根据中心点距离来获取区划。较高的获取到区划后取前N个边界确认。将区划边界对象GeneralPath加载到内存并广播。
    3、根据geohash,参考geosh精度 进行reduce聚合,获取geohash对应的区划代码,并广播,然后根据广播中的geohash的区划轨迹点的精度。

    二、GeneralPath 序列化造成的bug?
    GeneralPath kyro序列化反序列化不一致。
    mapWithState,stateRDD 中的对象,再进行MEMORY_AND_DISK_SER 级别的缓存时,序列化反序列化不一致。当可能存在逻辑错误
    当通过redis等缓存固化中间结果时,可能存在逻辑错误。
    当有这些对象时 通过@transient设置不可序列化

    相关文章

      网友评论

          本文标题:记一次BUG

          本文链接:https://www.haomeiwen.com/subject/xxpsgctx.html