You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The first write creates the first log file and associated structure of the table. There is no issue since nothing exists. The second call to build() will construct the DeltaTable struct without reading the underlying storage for the table state hence the writer see it as being uninitialized and attempts to create the table again. Before writing the commit conflict resolution will check for new commits to the table and it notices that a version 0 already exists which conflicts with your new write and returns an error.
When reading an existing table use load() with the builder or use the DeltaOps write as follows
let table = DeltaOps::try_from_uri("./data/mytable").await?
.write(mydata).await?
Once you have a table object you don't need to load the table again. You can reuse it like this
let table = DeltaOps(table).write(vec![batch]).await?;
Environment
Delta-rs version: 0.13.0
Binding:
Environment:
Bug
What happened:
What you expected to happen:
To be able to read the delta lake table
How to reproduce it:
Write to a delta table path using code similar to this
The query using datafusion with code similar to this
now repeat the write, and then the reading, the reading will now fail with the above error.
The text was updated successfully, but these errors were encountered: