-
Notifications
You must be signed in to change notification settings - Fork 247
feat: Parquet Modular Encryption with Spark KMS for native readers #2447
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
Conversation
…ark side accessed via JNI.
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #2447 +/- ##
============================================
+ Coverage 56.12% 58.92% +2.79%
- Complexity 976 1457 +481
============================================
Files 119 147 +28
Lines 11743 13642 +1899
Branches 2251 2369 +118
============================================
+ Hits 6591 8038 +1447
- Misses 4012 4381 +369
- Partials 1140 1223 +83 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
common/src/main/java/org/apache/comet/parquet/NativeBatchReader.java
Outdated
Show resolved
Hide resolved
…yption factory registration in parquet_exec.rs.
|
Also look at https://github.com/apache/parquet-java/blob/master/parquet-hadoop/src/test/java/org/apache/parquet/crypto/TestPropertiesDrivenEncryption.java to see if there are any tests that might be relevant here. |
# Conflicts: # spark/src/main/scala/org/apache/comet/CometExecIterator.scala
common/src/main/java/org/apache/comet/parquet/CometFileKeyUnwrapper.java
Outdated
Show resolved
Hide resolved
common/src/main/java/org/apache/comet/parquet/CometFileKeyUnwrapper.java
Show resolved
Hide resolved
common/src/main/java/org/apache/comet/parquet/CometFileKeyUnwrapper.java
Outdated
Show resolved
Hide resolved
common/src/main/java/org/apache/comet/parquet/NativeBatchReader.java
Outdated
Show resolved
Hide resolved
common/src/main/scala/org/apache/comet/parquet/CometParquetUtils.scala
Outdated
Show resolved
Hide resolved
spark/src/main/scala/org/apache/spark/sql/comet/operators.scala
Outdated
Show resolved
Hide resolved
common/src/main/java/org/apache/comet/parquet/CometFileKeyUnwrapper.java
Outdated
Show resolved
Hide resolved
common/src/main/java/org/apache/comet/parquet/CometFileKeyUnwrapper.java
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
|
|
||
| // spotless:off | ||
| /* | ||
| * Architecture Overview: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This diagram is super helpful, thanks a lot.
spark/src/test/scala/org/apache/spark/sql/comet/ParquetEncryptionITCase.scala
Outdated
Show resolved
Hide resolved
spark/src/test/scala/org/apache/spark/sql/comet/ParquetEncryptionITCase.scala
Show resolved
Hide resolved
# Conflicts: # native/core/src/execution/jni_api.rs # spark/src/main/scala/org/apache/comet/CometExecIterator.scala # spark/src/main/scala/org/apache/comet/Native.scala
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM

Which issue does this PR close?
Closes #.
Rationale for this change
We want to add Parquet Module Encryption support for the native readers when using a Spark KMS. We use the encryption factory features added in DataFusion 50 to register an encryption factory that uses JNI to get decryption keys from Spark.
What changes are included in this PR?
How are these changes tested?