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

[core] Introduce IcebergCommitCallback to create Iceberg metadata after commit #3731

Merged
merged 2 commits into from
Jul 12, 2024

Conversation

tsreaper
Copy link
Contributor

Purpose

Iceberg is a popular data lake format. In order to have more users try out Paimon while keeping their existing Iceberg workflow, we introduce IcebergCommitCallback in this PR to create Iceberg metadata after commit.

With this feature, Iceberg readers can read Paimon's RawFiles.

Tests

  • Unit tests

API and Format

No changes in Paimon format.

Documentation

Yes. Document will be added later.

@@ -145,23 +145,24 @@ private Predicate convertLeaf(PredicateLeaf leaf) {
DataType columnType = columnTypes.get(idx);
switch (leaf.getOperator()) {
case EQUALS:
return builder.equal(idx, toLiteral(columnType, leaf.getLiteral()));
Copy link
Contributor

@JingsongLi JingsongLi Jul 11, 2024

Choose a reason for hiding this comment

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

Please create a separate PR for this.

Copy link
Contributor

@JingsongLi JingsongLi left a comment

Choose a reason for hiding this comment

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

Looks good to me!

/** Path factory for Iceberg metadata files. */
public class IcebergPathFactory {

private final Path root;
Copy link
Contributor

Choose a reason for hiding this comment

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

just store metadataDirectory? to avoid exposing root to the entire class

@JingsongLi JingsongLi merged commit f83ecf4 into apache:master Jul 12, 2024
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants