【发布时间】:2013-10-25 11:43:49
【问题描述】:
我有一个包含一些(纬度、经度)坐标的大日志文件,以及一个包含多边形集合的数据库。多边形数据集现在适合内存,但将来可能不会。
我想加入这两个数据集,以便知道对于每个日志坐标,它包含在哪些多边形中。
您知道使用 Hadoop(或 Pig,如果有帮助的话)解决这个问题的好方法吗?
【问题讨论】:
标签: hadoop geometry geospatial computational-geometry apache-pig
我有一个包含一些(纬度、经度)坐标的大日志文件,以及一个包含多边形集合的数据库。多边形数据集现在适合内存,但将来可能不会。
我想加入这两个数据集,以便知道对于每个日志坐标,它包含在哪些多边形中。
您知道使用 Hadoop(或 Pig,如果有帮助的话)解决这个问题的好方法吗?
【问题讨论】:
标签: hadoop geometry geospatial computational-geometry apache-pig
为了方便到达此处的搜索结果,以下一项或多项将很有用:
(披露:我是 Hadoop GIS 工具的开发人员之一,受雇于 Esri。)
【讨论】:
乍一看,我建议这样做:
有一个使用 MultipleInputs 的地图(数据库多边形和从日志文件中拆分)。 对于日志文件中的每个点,split 检查该点是否属于一个多边形,如果属于,则输出对 (point,polygon)。
reducer 聚合这些信息并输出:(点,它所属的多边形集)。
此解决方案不假定多边形孔集适合主内存。
如果您确定确实如此,我认为在开始作业之前查询数据库并将查询结果作为文件放在 DistributedCache 中会更有效。
【讨论】: