Skip to content

New GEOMETRY and GEOGRAPHY columns in delta/Databricks are not supported #248

@danielsparing

Description

@danielsparing

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions