携程面试的一道mapreduce的题目。

kissmelove01 2014-02-26 11:57:18
加精
现有100万酒店坐标和20亿地标,里面记录地标的经纬度,请设计mapreduce计算所有酒店1公里范围内的地标。
...全文
27850 70 打赏 收藏 转发到动态 举报
写回复
用AI写文章
70 条回复
切换为时间正序
请发表友善的回复…
发表回复
解观海 2016-03-26
  • 打赏
  • 举报
回复
其实这个题是,和地理空间的栅格计算差不多。就是先报坐标系网格化。网格的就变成了一个二维数组 Grid[][] 然后我们选择一个点作为远点。 一个点扫过的栅格的最大数是固定的。 map阶段就是以所有点扫过的栅格的索引[x][y] 作为key,以自己是坐标和点的类型(酒店还是地标)为value. reduce阶段是首首先找到酒店坐标,然后所有点和酒店坐标计算距离,然后输出结果。 这里为例减少坐标点扫过的栅格数, 可以把栅格的大小设定为2公里,这样,一个点最多扫过4个栅格。 map 产出最多 (20亿+100W)*4 个key/value ,不能进行combine reduce 阶段理论为20亿+100W)*4,但是肯定会远小于这个值
qqeeedsfs 2015-07-28
  • 打赏
  • 举报
回复
也可以用2个hashmap 一个KEY 就是纬度 一个KEY 是经度 找到对应的 区间取交集
qqeeedsfs 2015-07-28
  • 打赏
  • 举报
回复
先分区域 没有区域的情况下分析无意义 现实中 酒店id存储在区域数据库中 id的经度一个存储数据排列 纬度一个数据排列 id分为100个等级(按照经纬度大小排列) 原本数据按照经纬度加上一公里数据 搜索对应等级的经度 搜索对应等级的纬度 取交集 即可
三生石9775 2015-07-17
  • 打赏
  • 举报
回复
都是高手啊 进来学习
Roc_Dp 2015-07-14
  • 打赏
  • 举报
回复
说一下我的想法,首先计算酒店一公里范围内的经纬度范围,再按这范围找出所有的地标。这样计算量会大大下降。
原来简单 2015-07-02
  • 打赏
  • 举报
回复
这,完全不在一个级别上的。。
咖啡不放糖 2015-06-01
  • 打赏
  • 举报
回复
我是来学习的,最近我搞不定MapReduce、
礼彬fly 2015-04-05
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
都是大神,小白好好学习。。
枉寻 2015-03-18
  • 打赏
  • 举报
回复
挖下坟,和前面的方法差不多,通过xy排除不可能的,加上一个:取确定定在范围内的,最后计算不确定的。


zccao_gong 2015-03-12
  • 打赏
  • 举报
回复
好的学习就是分析,讨论!研究中!
为技术痴狂 2014-12-11
  • 打赏
  • 举报
回复
都是大神级的,我这个刚出校门的看这些合适吗?我很感兴趣啊,但是hadoop都还没入门啊
lessonnair 2014-11-12
  • 打赏
  • 举报
回复
可以先对文件进行分割,分为两部分,酒店部分和地标部分;酒店部分大小大概为10M左右。将酒店部分存入内存,对地标部分做map,一次map(地标id,地标坐标)--------> 得到多个(酒店id,地标id)(关键点:Map过程中酒店数据全部存在内存里,地标数据存在文本中),然后再reduce得到(酒店id,多个地标id)
xxzzpp123456 2014-11-05
  • 打赏
  • 举报
回复
酒店坐标为 (x0, y0), 坐标为(x1,y1), 则 (x1-x0)平方 + (y1-y0)平方 <=1公里 ,这是函数必须要满足的不等式 1.同一个文件中找出所有的酒店坐标 2.两层循环, 第一层循环为所有的非酒店坐标,第二层循环为所有的酒店坐标,满足不等式条件记录到对应酒店对应的key的集合中
he36363636 2014-08-22
  • 打赏
  • 举报
回复
学习·····
liyang417800 2014-06-03
  • 打赏
  • 举报
回复
长见识了~~~
xlk23 2014-05-09
  • 打赏
  • 举报
回复
我也想知道, 大湿的代码 ,时间复杂度是多少?
肖江江 2014-05-07
  • 打赏
  • 举报
回复
请问大湿,你的暴力算法1,时间复杂度怎么计算,求详解!谢谢
鸥翔鱼游1 2014-04-29
  • 打赏
  • 举报
回复
且学且珍惜,得认学习真正消化
xiaoxiangqing 2014-03-12
  • 打赏
  • 举报
回复
高难度,期待高人出现
加载更多回复(44)

20,808

社区成员

发帖
与我相关
我的任务
社区描述
Hadoop生态大数据交流社区,致力于有Hadoop,hive,Spark,Hbase,Flink,ClickHouse,Kafka,数据仓库,大数据集群运维技术分享和交流等。致力于收集优质的博客
社区管理员
  • 分布式计算/Hadoop社区
  • 涤生大数据
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧