duckdb_iceberg
duckdb_iceberg copied to clipboard
Can't use the extension if my data catalog did not create a version-hint.text file
My s3 bucket with iceberg (picture below) cannot be queried with
iceberg_scan('s3://bucket/iceberg', ALLOW_MOVED_PATHS=true)
nor
iceberg_scan('s3://bucket/iceberg/*', ALLOW_MOVED_PATHS=true)
In particular the system is trying to find a very specific file (so the * pattern gets ignored):
duckdb.duckdb.Error: Invalid Error: HTTP Error: Unable to connect to URL https://bucket.s3.amazonaws.com/iceberg/metadata/version-hint.text
Unfortunately that file does not exist in my iceberg/ folder, nor in any of the iceberg/sub/metadata folders. Compared to the data zip in duckdb docs about iceberg, it is clear "my iceberg tables" are missing that file, which is important for the current implementation.
That said, version-hint seems something we do not really need, as that info can default to a version or being an additional parameter perhaps (instead of failing if the file is not found)?
Original discussion with @Alex-Monahan in dbt Slack is here: note that I originally got pointed to this as a possible cause, so perhaps reading a table that is formally Iceberg is not really independent from the data catalog it belongs to?