Add Presto iceberg connector#15836
Conversation
|
Hello @ChunxuTang could you rebase master? Thanks! |
a4fea0d to
d68497d
Compare
|
After the rebase, it seems that some modules won't be compiled successfully. Will fix that. |
|
Provided a quick fix for the parquet conflicts to kick-off the review and testing. Also sent a PR to the prestodb/presto-hive-apache repo for a parquet upgrade. When that PR is merged, we can remove the quick fix safely. |
beinan
left a comment
There was a problem hiding this comment.
Great work! @ChunxuTang Just put a few questions and code style issues
There was a problem hiding this comment.
Why do we need to make it public? any usage of this method outside?
There was a problem hiding this comment.
Good catch! Have changed it back to private.
There was a problem hiding this comment.
Io or IO? I think using upper case 'O' looks better
There was a problem hiding this comment.
Yes, using the upper case of 'O' is better here. Refactored the code here.
presto-iceberg/src/main/java/com/facebook/presto/iceberg/HiveTableOperations.java
Outdated
Show resolved
Hide resolved
presto-iceberg/src/main/java/com/facebook/presto/iceberg/HiveTableOperations.java
Outdated
Show resolved
Hide resolved
presto-iceberg/src/main/java/com/facebook/presto/iceberg/IcebergModule.java
Outdated
Show resolved
Hide resolved
presto-iceberg/src/main/java/com/facebook/presto/iceberg/IcebergSessionProperties.java
Outdated
Show resolved
Hide resolved
presto-spark-base/pom.xml
Outdated
There was a problem hiding this comment.
is this change still needed after we update presto-hive-apache? if not, add a todo or something?
There was a problem hiding this comment.
Nice catch! Yeah, I think we may still need this after updating the parquet in the presto-hive-apache to avoid dependency conflicts. We can do more tests of compilation to confirm that, avoiding potential changes in other packages' POM files.
There was a problem hiding this comment.
leave a comment if the rename table feature has not been supported yet, or add a todo if it's already supported
There was a problem hiding this comment.
Yeah, we don't support it yet. The reason we have the function is that we need to override the function defined in the AbstractTestDistributedQueries. We leverage that class to test SQL queries against the connector.
4d30413 to
d6acd7d
Compare
zhenxiao
left a comment
There was a problem hiding this comment.
nice work, @ChunxuTang
added a few comments. could you please add cherry-pick info, and original commit in commit message?
There was a problem hiding this comment.
static import HivePrivilege.SELECT
same for INSERT, UPDATE, DELETE
There was a problem hiding this comment.
Sure, updated in the new commit.
There was a problem hiding this comment.
Name updated. Thanks for figuring it out!
presto-iceberg/src/main/java/com/facebook/presto/iceberg/HiveTableOperations.java
Outdated
Show resolved
Hide resolved
presto-iceberg/src/main/java/com/facebook/presto/iceberg/HiveTableOperations.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
shall we throw exception or log warning here? ignore silently seems not right
There was a problem hiding this comment.
Nice catch! Added extra logging here.
There was a problem hiding this comment.
shall we throw exception or log warning here?
There was a problem hiding this comment.
Same as above. Added extra logging.
presto-iceberg/src/main/java/com/facebook/presto/iceberg/IcebergPageSource.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
static import DATA, PARTITIONS, MANIFESTS, FILES
There was a problem hiding this comment.
s/ver1/version1/g
s/ver2/version2/g
There was a problem hiding this comment.
Sure, updated the variable names.
presto-iceberg/src/main/java/com/facebook/presto/iceberg/HiveTableOperations.java
Outdated
Show resolved
Hide resolved
presto-iceberg/src/main/java/com/facebook/presto/iceberg/HiveTableOperations.java
Outdated
Show resolved
Hide resolved
presto-iceberg/src/main/java/com/facebook/presto/iceberg/IcebergModule.java
Outdated
Show resolved
Hide resolved
a479836 to
1a4c150
Compare
Sure~ Added the cherry-pick info in both the PR and the commit message. |
|
Hello @rongrong , looks like the Facebook Integration test keep failing for this PR.
is it possible to help us check what is happening to the test? Thanks a lot! |
zhenxiao
left a comment
There was a problem hiding this comment.
looks good to me
thank you @ChunxuTang
a few minor issues
presto-iceberg/pom.xml
Outdated
There was a problem hiding this comment.
update to latest version, 254-snapshot
There was a problem hiding this comment.
Sure~ Rebased the master branch and upgraded the presto-iceberg module to 0.254-snapshot.
There was a problem hiding this comment.
Thanks for the suggestion! Removed the unnecessary comment.
Cherry-pick of trinodb/trino@e82c2d5 Co-Authored-By: Parth Brahmbhatt <pbrahmbhatt@netflix.com> Co-Authored-By: Zhenxiao Luo <zluo@twitter.com> Co-Authored-By: Beinan Wang <beinanw@twitter.com>
54a5a75 to
a55462e
Compare
|
hi @tdcmeehan seems all tests passed, except for Facebook integration. could you please help check if this PR is good to proceed? |
|
The Presto Facebook test failure is unrelated. |
Cherry-pick of trinodb/trino@e82c2d5
Co-Authored-By: Parth Brahmbhatt pbrahmbhatt@netflix.com
Co-Authored-By: Zhenxiao Luo zluo@twitter.com
Co-Authored-By: Beinan Wang beinanw@twitter.com