Skip to content
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

feat: extend configuration handling #1206

Merged
merged 1 commit into from
Mar 6, 2023
Merged

Conversation

roeap
Copy link
Collaborator

@roeap roeap commented Mar 3, 2023

Description

This PR refactors and extends the table configuration handling. The approach is analogous to how we and object_store handle configuration via storage properties. The idea is to provide a somewhat typed layer over the untyped configuration keys.

There was one surprising thing along the way. From what I can tell, we may have been omitting the delta. prefix on the config keys we parse. So this would definitely be breaking behaviour, since we no longer recognize keys we were parsing before. We can in principle handle aliases for keys quite easily, but I was not sure what the desired behaviour is.

cc @rtyler @xianwill - This change would probably affect kafka-delta-ingest, so especially interested in your opinions!

Related Issue(s)

part of #632

Documentation

@houqp
Copy link
Member

houqp commented Mar 6, 2023

I am leaning towards us making the breaking change now and move on. Then come back to add the compatibility layer if someone complains.

@roeap roeap merged commit 01896f5 into delta-io:main Mar 6, 2023
@roeap roeap deleted the table-config branch March 6, 2023 11:05
roeap added a commit that referenced this pull request Mar 7, 2023
# Description

Another PR on the road to #632 - ~~keeping it a draft, as it is based on
#1206~~

While the `commitInfo` action is defined as completely optional, spark
and delta-rs write at the very least interesting, but often also quite
helpful information into the commit info. To make it easier to work with
and centralize some conventions, we introduce a `CommitInfo` struct,
that exposes some of the fields at the top level. Additionally we
harmonize a bit between spark and delta-rs conventions.

# Related Issue(s)

part of #632 

# Documentation

<!---
Share links to useful documentation
--->

---------

Co-authored-by: Will Jones <[email protected]>
chitralverma pushed a commit to chitralverma/delta-rs that referenced this pull request Mar 17, 2023
# Description

This PR refactors and extends the table configuration handling. The
approach is analogous to how we and object_store handle configuration
via storage properties. The idea is to provide a somewhat typed layer
over the untyped configuration keys.

There was one surprising thing along the way. From what I can tell, we
may have been omitting the `delta.` prefix on the config keys we parse.
So this would definitely be breaking behaviour, since we no longer
recognize keys we were parsing before. We can in principle handle
aliases for keys quite easily, but I was not sure what the desired
behaviour is.

cc @rtyler @xianwill - This change would probably affect
`kafka-delta-ingest`, so especially interested in your opinions!

# Related Issue(s)

part of delta-io#632

# Documentation

<!---
Share links to useful documentation
--->
chitralverma pushed a commit to chitralverma/delta-rs that referenced this pull request Mar 17, 2023
# Description

Another PR on the road to delta-io#632 - ~~keeping it a draft, as it is based on
delta-io#1206~~

While the `commitInfo` action is defined as completely optional, spark
and delta-rs write at the very least interesting, but often also quite
helpful information into the commit info. To make it easier to work with
and centralize some conventions, we introduce a `CommitInfo` struct,
that exposes some of the fields at the top level. Additionally we
harmonize a bit between spark and delta-rs conventions.

# Related Issue(s)

part of delta-io#632 

# Documentation

<!---
Share links to useful documentation
--->

---------

Co-authored-by: Will Jones <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
binding/rust Issues for the Rust crate rust
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants