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

Add support for ingesting older iceberg snapshots #15348

Merged
merged 4 commits into from
Nov 17, 2023

Conversation

a2l007
Copy link
Contributor

@a2l007 a2l007 commented Nov 8, 2023

Description

This patch introduces a param snapshotTime in the iceberg inputsource spec that allows the user to ingest data files associated with the most recent snapshot as of the given time. This helps the user ingest data based on older snapshots by specifying the associated snapshot time.
This patch also upgrades the iceberg core version to 1.4.1


This PR has:

  • been self-reviewed.
  • added documentation for new or modified features or behaviors.
  • added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
  • added unit tests or modified existing tests to cover new code paths, ensuring the threshold for code coverage is met.
  • been tested in a test Druid cluster.

@@ -78,14 +82,16 @@ public IcebergInputSource(
@JsonProperty("namespace") String namespace,
@JsonProperty("icebergFilter") @Nullable IcebergFilter icebergFilter,
@JsonProperty("icebergCatalog") IcebergCatalog icebergCatalog,
@JsonProperty("warehouseSource") InputSourceFactory warehouseSource
@JsonProperty("warehouseSource") InputSourceFactory warehouseSource,
@JsonProperty("snapshotTime") DateTime snapshotTime
Copy link
Contributor

@cryptoe cryptoe Nov 15, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This can be nullable rite ? Might as well mark it nullable.

@@ -164,6 +170,12 @@ public IcebergFilter getIcebergFilter()
return icebergFilter;
}

@JsonProperty
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I generally mark the getter nullable as well.

@cryptoe
Copy link
Contributor

cryptoe commented Nov 15, 2023

@a2l007 Changes LGTM. Minor comments only.

@a2l007
Copy link
Contributor Author

a2l007 commented Nov 17, 2023

@cryptoe Thanks, I've addressed your comments.

@cryptoe cryptoe merged commit a291478 into apache:master Nov 17, 2023
79 of 83 checks passed
@cryptoe
Copy link
Contributor

cryptoe commented Nov 17, 2023

Test failure due to : apache/druid-website#252 which removed the wikipedia data set from apache druid website.

writer-jill pushed a commit to writer-jill/druid that referenced this pull request Nov 20, 2023
This patch introduces a param snapshotTime in the iceberg inputsource spec that allows the user to ingest data files associated with the most recent snapshot as of the given time. This helps the user ingest data based on older snapshots by specifying the associated snapshot time.
This patch also upgrades the iceberg core version to 1.4.1
yashdeep97 pushed a commit to yashdeep97/druid that referenced this pull request Dec 1, 2023
This patch introduces a param snapshotTime in the iceberg inputsource spec that allows the user to ingest data files associated with the most recent snapshot as of the given time. This helps the user ingest data based on older snapshots by specifying the associated snapshot time.
This patch also upgrades the iceberg core version to 1.4.1
@LakshSingla LakshSingla added this to the 29.0.0 milestone Jan 29, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants