Минимальное требование для выполнения индексированного геопространственного запроса - PullRequest
0 голосов
/ 21 мая 2018

Я новичок в геопространственной области, и мне удалось добавить geomesa-spark-jst в проект, который позволил мне использовать геопространственные функции.

Мне нужно пройти через миллионы геокодированных событий (eventRdd)и на основе пользовательских критериев посмотрите, находятся ли они на определенном расстоянии от линии трассы сегмента дороги (roadSegmentRdd).

В настоящее время для каждого события мне нужно пройти весь roadSegmentRdd и посмотреть, соответствуют ли критерииудовлетворен, что совсем не оптимально.

Как я могу использовать geomesa и индексы, чтобы сделать этот запрос быстрее?Каковы минимально необходимые зависимости?

1 Ответ

0 голосов
/ 21 мая 2018

Как правило, вы захотите вставить по крайней мере ваши точечные данные в хранилище данных GeoMesa, которое затем можно запросить на основе пространственных предикатов, чтобы эффективно отфильтровать те, которые вас интересуют.

GeoMesa имеетнесколько различных вариантов хранения данных, которые вы можете использовать, от полностью распределенной базы данных, такой как HBase, до облегченного решения на основе файловой системы.Лучший будет зависеть от ваших требований к производительности и доступной инфраструктуры.Более подробная информация о различных хранилищах данных здесь и специфических для Spark деталях здесь .

После того, как вы получили данные, вы можете попробовать один из подходов к объединениюв общих чертах здесь или здесь , в зависимости от размера вашего участка дороги RDD.

...