Earlier quoted context omitted.
Are you querying from an EC2 instance close to the S3 data? Are the CSVs partitioned into separate files? Does the machine have 500GB of memory? It’s not always duckdb fault when there can be a clear I/O bottleneck…
No, the EC2 instance doesn't have 500GB of data. Does DuckDB require that? I actually downloaded the data from S3 to local EBS and still choked.
DuckDB is probably the most important geospatial software of the last decade
151–160 of 177 posts
Re: DuckDB is probably the most important geospatial software of the last decade
#152Earlier quoted context omitted.
For what it's worth, you _can't_ use spherical approaches for most data. They're only used for points, in practice. Your spatial data is inherently stored/generated in ways that don't allow spherical approaches as soon as you start working with polygons, let alone things like rasters. Yes, spherical representations of polygon data exist, but the data you import has already been "split" and undoing that is often impos…
A good point. Certainly for raster analysis it doesn't make sense. But any type of vector data could be modeled on a sphere, right? Points, shapes, lines. And I saw "better" because even the best suited projection will have some small amount of distortion. Either way, most things use planer geometry so projections are necessary, and you need to have some understanding of how all that works
Re: DuckDB is probably the most important geospatial software of the last decade
#153Earlier quoted context omitted.
CSV are a poor format to access from S3. Should convert them to parquet then access and analytics becomes cheap and fast.
I agree. That's how our data is produced. We constantly generate real time data into CSV. As far as I can tell, I can't append to parquet file.
This is a new paradigm for folks who aren’t in big data — the conventional approach usually involves doing a row INSERT. In big data, appending simply means adding a new file - the database engine will immediately recognize its presence. This is why “select * from ‘*.parquet’” will always operate on the latest dataset.
Re: DuckDB is probably the most important geospatial software of the last decade
#154How big are the data sets? I've been trying to get duckdb to work in our company on financial transactions and reporting data. The dataset is around 500GB CSV in S3 and duckdb chokes on it.
You need to convert it into Parquet or some columnar format that lets engines do predicate pushdowns and fast scans. Each parquet file stores statistics about the data it contains so engines can quickly decide if it’s worth reading the file or skipping it altogether.
Re: DuckDB is probably the most important geospatial software of the last decade
#155Earlier quoted context omitted.
There's no point in learning any much deeper SQL anymore, AI assistants have largely solved SQL querying. Just ask for what you want with natural language.
I don't quite agree. SQL queries are one area where correctness matters a lot, because downstream applications rely on them to be correct. If you get a query wrong, especially in an ETL process, you can generate a lots of garbage data for a very long time (I'm speaking from lived experience). It might take a long time to correct (via backfill) and sometimes the original data might no longer be available. I use LLMs t…
if i already expect it to be making at least some of a mess, why not have AI as part of the setup?
Re: DuckDB is probably the most important geospatial software of the last decade
#156I work on geospatial apps and the software I think I am most excited about is https://felt.com/ . I want to see them expand their tooling such that maps and data source authentication/authorization was controllable by the developer, to enable tenant isolation with proprietary data access. They could really disrupt how geospatial tech gets integrated into consumer apps. This article doesn't acknowledge how niche this…
Author here: the beauty of DuckDB spatial is that the projections and CRS options are hidden until you need them. For 90% of geospatial data usage people don't and shouldn't need to know about projections or CRS. Yes, there are so many great tools to handle the complexity for the capital-G Geospatial work. I love Felt too! Sam and team have built a great platform. But lots of times a map isn't needed; an analyst just…
Re: DuckDB is probably the most important geospatial software of the last decade
#157Earlier quoted context omitted.
I totally agree with this. DuckDB for me was a huge QoL improvement just working with random datasets. I found it much easier to explore datasets using DuckDB rather than Pandas, Postgres or Databricks. The spatial features were just barely out when I was last doing a lot of heavy geospatial work, but even then they were very nice. An aside, I had a Junior who would just load datasets into PowerBI to explore them for…
> An aside, I had a Junior who would just load datasets into PowerBI to explore them for the first time, and that was actually a shockingly useful workflow. What was shockingly useful in PowerBI compared to DuckDB?
Re: DuckDB is probably the most important geospatial software of the last decade
#158Earlier quoted context omitted.
I agree. That's how our data is produced. We constantly generate real time data into CSV. As far as I can tell, I can't append to parquet file.
Parquet files are already built for append only. Just add a new file. This is a new paradigm for folks who aren’t in big data — the conventional approach usually involves doing a row INSERT. In big data, appending simply means adding a new file - the database engine will immediately recognize its presence. This is why “select * from ‘*.parquet’” will always operate on the latest dataset.
Re: DuckDB is probably the most important geospatial software of the last decade
#159Earlier quoted context omitted.
No, the EC2 instance doesn't have 500GB of data. Does DuckDB require that? I actually downloaded the data from S3 to local EBS and still choked.
Works fine for me on TB+ datasets. Maybe you were doing in-memory rather than persistent database and running out of RAM? https://duckdb.org/docs/stable/clients/cli/overview.html#in-...
Re: DuckDB is probably the most important geospatial software of the last decade
#160Earlier quoted context omitted.
Parquet files are already built for append only. Just add a new file. This is a new paradigm for folks who aren’t in big data — the conventional approach usually involves doing a row INSERT. In big data, appending simply means adding a new file - the database engine will immediately recognize its presence. This is why “select * from ‘*.parquet’” will always operate on the latest dataset.
Wait, so I create a new file for every message?
For example, my data is usually batched by yearwk (year + week no), so my directory structure looks like this:
/data/yearwk=202501/000.parquet
/data/yearwk=202502/000.parquet
This is also called the Hive directory structure. When I query, I just do: select * from '/data/**/*.parquet';
This is a paradigm shift from standard database thinking for handling truly big data. It's append-only by file.500GB in CSVs doesn't sound that big though. I'm guessing when you convert to Parquet (a 1-liner in DuckDB, below) it might end up being 50GBs or so.
COPY (FROM '/data/*.csv') TO 'my.parquet' (FORMAT PARQUET);