Given that the architecture has a semantic layer, you just need to pick one that integrates with DuckDB, e.g. Cube [1].
About distributed DuckDB, have you checked Boiling Data? [2]
1- https://cube.dev/blog/introducing-duckdb-and-motherduck-inte... 2- https://boilingdata.medium.com/lightning-fast-aggregations-b...