1

我有一个带有一些(经纬度)坐标的大日志文件,以及一个带有多边形集合的数据库。多边形数据集现在适合内存,但将来可能不适合。

我想加入这两个数据集,以便知道对于每个日志坐标,它包含在哪些多边形中。

你知道使用 Hadoop(或 Pig,如果有帮助的话)解决这个问题的好方法是什么吗?

4

2 回答 2

1

对于到达此处的搜索结果,以下一项或多项将很有用:

Hadoop 的 GIS 工具

空间Hadoop

HadoopGIS

(披露:我是 Hadoop GIS 工具的开发人员之一,受雇于 Esri。)

于 2013-10-25T03:43:49.730 回答
0

乍一看,我建议这样做:

拥有一张使用 MultipleInputs 的地图(数据库多边形和日志文件的拆分)。对于日志文件拆分中的每个点,它会检​​查该点是否属于多边形,如果属于,则输出对 (point,polygon)。

reducer 聚合这些信息并输出:(点,它所属的多边形集)。

该解决方案不假定多边形的孔集适合主存储器。

如果您确定确实如此,我认为在开始作业之前查询数据库并将查询结果作为文件放在 DistributedCache 中会更有效。

于 2012-07-08T00:55:31.357 回答