-
Notifications
You must be signed in to change notification settings - Fork 987
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
[Format]ORC Support ZStandard compression using zstd-jni #3056
Conversation
Hi @zyl891229 , thanks for the contribution! Is apache/orc#988 based on ORC 1.9? |
Hi @JingsongLi |
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.
+1
import java.util.Properties; | ||
|
||
/** Define the configuration properties that Orc understands. */ | ||
public enum OrcConf { |
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.
@zyl891229 @JingsongLi I encountered the class conflict in my local test, there may be problems with class with the same name.
Caused by: java.lang.NoSuchFieldError: COMPRESSION_ZSTD_LEVEL
at org.apache.paimon.format.OrcOptions.<clinit>(OrcOptions.java:42)
at org.apache.paimon.format.orc.OrcWriterFactory.create(OrcWriterFactory.java:132)
at org.apache.paimon.io.SingleFileWriter.<init>(SingleFileWriter.java:68)
at org.apache.paimon.io.StatsCollectingSingleFileWriter.<init>(StatsCollectingSingleFileWriter.java:57)
at org.apache.paimon.io.RowDataFileWriter.<init>(RowDataFileWriter.java:57)
at org.apache.paimon.io.RowDataRollingFileWriter.lambda$new$0(RowDataRollingFileWriter.java:53)
at org.apache.paimon.io.RollingFileWriter.openCurrentWriter(RollingFileWriter.java:99)
at org.apache.paimon.io.RollingFileWriter.write(RollingFileWriter.java:78)
at org.apache.paimon.append.AppendOnlyWriter$DirectSinkWriter.write(AppendOnlyWriter.java:347)
at org.apache.paimon.append.AppendOnlyWriter.write(AppendOnlyWriter.java:144)
at org.apache.paimon.append.AppendOnlyWriter.write(AppendOnlyWriter.java:60)
at org.apache.paimon.operation.AbstractFileStoreWrite.write(AbstractFileStoreWrite.java:126)
at org.apache.paimon.table.sink.TableWriteImpl.writeAndReturn(TableWriteImpl.java:145)
at org.apache.paimon.table.sink.TableWriteImpl.write(TableWriteImpl.java:126)
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.
0be4a21 fixed this.
Purpose
Support ZStandard compression using zstd-jni.
ORC Original PR: apache/orc#988
Support the use of zstd-jni library as the implementation of ORC zstd,
with better performance than aircompressor.
But ORC support it from 2.0.0 ,but it also drop java 8 at the same version.
Tests
org.apache.paimon.format.orc.writer.OrcZstdTest
API and Format
Documentation