-
Notifications
You must be signed in to change notification settings - Fork 406
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Generic DeltaTable error: type_coercion in Struct column in merge operation #1998
Comments
Struct type coercion is not yet built in data fusion sadly. I will expose the large_dtypes parameter so you can control that and set it to False, then it should work |
Where i'm set this config? @ion-elgreco |
@gustavodecarlo it will be on |
Let me try. thanks for the insight |
@gustavodecarlo it's not yet available. I will make it available in the next release though |
Thanks for the information let's wait. And this issue can we close? |
# Description This helps to avoid this [error](#1998 )since you can now set to large_dtypes=False. Also once upstream in arrow-rs there is better type coercion, this param should be able to be removed completely in the writer and merge operation.
@ion-elgreco, worked with large_dtypes=False. Thanks for the help. |
Environment
Delta-rs version: rust-v0.16.5
Binding: python-v0.14.0
Environment: local machine
Bug
What happened:
_internal.DeltaError: Generic DeltaTable error: type_coercion
caused by
Error during planning: Failed to coerce then ([Struct([Field { name: "created_datetime", data_type: LargeUtf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "version", data_type: LargeUtf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }]), Struct([Field { name: "created_datetime", data_type: LargeUtf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "version", data_type: LargeUtf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }]), Struct([Field { name: "created_datetime", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "version", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }]), Struct([Field { name: "created_datetime", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "version", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }]), Struct([Field { name: "created_datetime", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }, Field { name: "version", data_type: Utf8, nullable: true, dict_id: 0, dict_is_ordered: false, metadata: {} }])]) and else (None) to common types in CASE WHEN expression
What you expected to happen:
merge executed successfully
How to reproduce it:
Need to pip install both polars and deltalake
Same code in this repo: https://github.com/gustavodecarlo/poc-python-deltars-upsert/blob/main/poc_python_deltars_upsert/dataflow.py#L12
The text was updated successfully, but these errors were encountered: