Hello @szymon_dybczak ,

That's the root cause right there — Databricks Free Edition.
Even with corrected schemaLocation and checkpointLocation paths, the Free Edition has a fundamental constraint:
So no matter where inside a Volume you point your checkpoint, it still lands in UC-managed storage, and the CheckPathAccess guard fires.

Only the checkpointLocation needs to go to DBFS on Free Edition. schemaLocation can stay in your Volume.

 

df = (
    spark.readStream
    .format("cloudFiles")
    .option("cloudFiles.format", "csv")
    .option("cloudFiles.schemaLocation", "/Volumes/workspace/capstone/schema/")  # Volume is fine
    .load("/Volumes/workspace/capstone/raw/")
    .writeStream
    .option("checkpointLocation", "dbfs:/tmp/checkpoints/capstone")              # DBFS needed
    .toTable("workspace.capstone.target_table")
)

 

 

 

LR

View solution in original post