-
Beta Was this translation helpful? Give feedback.
Replies: 3 comments 1 reply
-
|
@C-Loftus Pretty sure you just want to create a |
Beta Was this translation helpful? Give feedback.
-
|
From discussing with a coworker it seems like a way to solve this might be to partition the parquet dataset into 50 separate parquet files by their geometry, i.e. a separate parquet file for each state and have another table with the geometry of each state. Then a user could
This would likely work although I was hoping to find a way to do this without needing to have an extra states table which adds a bit of overhead. |
Beta Was this translation helpful? Give feedback.
-
|
I had some great help on this issue here: geoparquet/geoparquet-io#95 First, I tried h3 partitioning but I was told that the size of my dataset (few gigabytes) is relatively small and wouldn't really need it. I got some great advice and, it does seem like there IS in fact predicate pushdown on a query like this. My guess is that SELECT *
FROM read_parquet(
'gcs://dataset.parquet'
)
WHERE ST_Intersects(
geom,
ST_MakeEnvelope(-69.0877, 47.0479, -69.0453, 47.0889)
);As such I am closing this since this query completes in under a second even when querying to a file on my object store. |
Beta Was this translation helpful? Give feedback.
I had some great help on this issue here: geoparquet/geoparquet-io#95
First, I tried h3 partitioning but I was told that the size of my dataset (few gigabytes) is relatively small and wouldn't really need it.
I got some great advice and, it does seem like there IS in fact predicate pushdown on a query like this. My guess is that
ST_MakeEnvelopecauses it to implicitly filter against the geometry bbox column which I was not doing above.As such I am closing this since this query completes in under a second even when querying to …