-
Notifications
You must be signed in to change notification settings - Fork 460
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Seeking geofence st_contains query alternative #91
Comments
(As this is a question, not a feature request or bug report, please direct to StackOverflow in the future.)
I am not a Hive expert, but there are a few options for using H3 to spatially index data points:
Obviously if your polygons are stable, you'd be better off doing this at index time, storing the polygon id with the data point, rather than at query time. |
@nrabinowitz I don't think the second one would be that much slower. If you take your given lat, lng coordinates and compute the H3 index at all of the possible resolutions (say 6, 7, 8, 9 for your compacted set) and simply query for any of those 4 matching, it would just be four integer compares until it either succeeds or fails, and that would probably actually be faster than a single comparison across the entire uncompacted set. If it was a normal non-Hive database, you could index the H3 integers with a hash index and it would literally be just 4 hash lookups and you'd get the answer in |
As noted, I don't actually know much about Hive :). This tradeoff was something we were considering with Cassandra queries at one point. |
@dfellis join multiple times seems too stupid on the hive SQL grammar side, however, so far, it seems the best solution. |
using geofence polygon to judge one event is too complicated and slow in Hive by directly ESRI
st_contains
function, which means no index.In that, I am seeking a better solution, for example, using H3 maxPolyfillSize function.
However, I can not find any example about using
maxPolyfillSize
function to be ast_contains
alternative solution, need help.By default,
maxPolyfillSize
will return multiple h3index resolutions and that means SQL need to join many times with resolution levels. Does any better solution exist?The text was updated successfully, but these errors were encountered: