If the underlying delta table has a GEOMETRY or GEOGRAPHY type column, the delta_scan fails as below.
Steps to reproduce:
- You can use Databricks Free Edition, but need to have a Unity Catalog schema that points to an S3 bucket you can read from, such as an External Schema defined on an S3 bucket you have access to.
- Write any table from Databricks SQL with a GEO* data type column, such as:
-- Databricks SQL
create table duckgeo.e as
select
st_point(2, 3) geo
- Make sure DuckDB has access to the delta lake table directory, either on S3 or just download the whole directory to a convenient location.
- In DuckDB 1.4, try:
-- DuckDB SQL
install spatial; load spatial;
from delta_scan('/path/to/delta_table');
The error you get:
IOException Traceback (most recent call last)
File <command-[...]>, line 1
----> 1 duckdb.sql("from delta_scan('/[...]/delta_table')")
IOException: IO Error: DeltaKernel UnsupportedError (35): Unsupported: Unknown ReaderFeatures: "geospatial". Supported ReaderFeatures: "columnMapping", "deletionVectors", "timestampNtz", "typeWidening", "typeWidening-preview", "vacuumProtocolCheck", "v2Checkpoint", "variantType", "variantType-preview", "variantShredding-preview"
You can read the table with read_parquet(), but then of course you don't have Delta Lake versioning support.
If the underlying delta table has a GEOMETRY or GEOGRAPHY type column, the
delta_scanfails as below.Steps to reproduce:
The error you get:
You can read the table with
read_parquet(), but then of course you don't have Delta Lake versioning support.