This is an automated email from the ASF dual-hosted git repository.
lzljs3620320 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-paimon.git
The following commit(s) were added to refs/heads/master by this push:
new 0f0ebd93e [core] add read batch size option (#646)
0f0ebd93e is described below
commit 0f0ebd93e467364d8692355008de60b989f4aace
Author: JunZhang <[email protected]>
AuthorDate: Tue Mar 21 13:25:02 2023 +0800
[core] add read batch size option (#646)
* add read batch size option
* add test case
---
.../shortcodes/generated/core_configuration.html | 6 ++++
.../java/org/apache/paimon/format/FileFormat.java | 21 +++++++------
.../apache/paimon/format/FileFormatFactory.java | 21 ++++++++++++-
.../paimon/format/TestFileFormatFactory.java | 34 ++++++++++++++++++++++
.../main/java/org/apache/paimon/CoreOptions.java | 24 +++++++++++++--
.../apache/paimon/format/FileFormatDiscover.java | 5 +++-
.../java/org/apache/paimon/FileFormatTest.java | 2 +-
.../FileStatsExtractingAvroFormatFactory.java | 4 +--
.../paimon/format/avro/AvroFileFormatFactory.java | 5 ++--
.../apache/paimon/format/orc/OrcFileFormat.java | 12 ++++----
.../paimon/format/orc/OrcFileFormatFactory.java | 7 +++--
.../paimon/format/parquet/ParquetFileFormat.java | 16 ++++++----
.../format/parquet/ParquetFileFormatFactory.java | 7 +++--
.../format/parquet/ParquetReaderFactory.java | 6 ----
.../paimon/format/orc/OrcFileFormatTest.java | 9 ++++--
.../format/parquet/ParquetFileFormatTest.java | 13 +++++++--
16 files changed, 144 insertions(+), 48 deletions(-)
diff --git a/docs/layouts/shortcodes/generated/core_configuration.html
b/docs/layouts/shortcodes/generated/core_configuration.html
index ee5860242..9e38a144b 100644
--- a/docs/layouts/shortcodes/generated/core_configuration.html
+++ b/docs/layouts/shortcodes/generated/core_configuration.html
@@ -356,5 +356,11 @@
<td>Boolean</td>
<td>If set to true, compactions and snapshot expiration will be
skipped. This option is used along with dedicated compact jobs.</td>
</tr>
+ <tr>
+ <td><h5>read.batch-size</h5></td>
+ <td style="word-wrap: break-word;">1024</td>
+ <td>Integer</td>
+ <td>Read batch size for orc and parquet.</td>
+ </tr>
</tbody>
</table>
diff --git
a/paimon-common/src/main/java/org/apache/paimon/format/FileFormat.java
b/paimon-common/src/main/java/org/apache/paimon/format/FileFormat.java
index 77862e826..c4ea21ddc 100644
--- a/paimon-common/src/main/java/org/apache/paimon/format/FileFormat.java
+++ b/paimon-common/src/main/java/org/apache/paimon/format/FileFormat.java
@@ -18,7 +18,8 @@
package org.apache.paimon.format;
-import org.apache.paimon.options.ConfigOption;
+import org.apache.paimon.annotation.VisibleForTesting;
+import org.apache.paimon.format.FileFormatFactory.FormatContext;
import org.apache.paimon.options.Options;
import org.apache.paimon.predicate.Predicate;
import org.apache.paimon.types.RowType;
@@ -75,20 +76,18 @@ public abstract class FileFormat {
return Optional.empty();
}
- /** Create a {@link FileFormat} from table options. */
- public static FileFormat fromTableOptions(
- Options tableOptions, ConfigOption<String> formatOption) {
- String formatIdentifier = tableOptions.get(formatOption);
- return fromIdentifier(formatIdentifier,
tableOptions.removePrefix(formatIdentifier + "."));
+ @VisibleForTesting
+ public static FileFormat fromIdentifier(String identifier, Options
options) {
+ return fromIdentifier(identifier, new FormatContext(options, 1024));
}
/** Create a {@link FileFormat} from format identifier and format options.
*/
- public static FileFormat fromIdentifier(String identifier, Options
options) {
+ public static FileFormat fromIdentifier(String identifier, FormatContext
context) {
Optional<FileFormat> format =
- fromIdentifier(identifier, options,
Thread.currentThread().getContextClassLoader());
+ fromIdentifier(identifier, context,
Thread.currentThread().getContextClassLoader());
return format.orElseGet(
() ->
- fromIdentifier(identifier, options,
FileFormat.class.getClassLoader())
+ fromIdentifier(identifier, context,
FileFormat.class.getClassLoader())
.orElseThrow(
() ->
new RuntimeException(
@@ -99,12 +98,12 @@ public abstract class FileFormat {
}
private static Optional<FileFormat> fromIdentifier(
- String formatIdentifier, Options formatOptions, ClassLoader
classLoader) {
+ String formatIdentifier, FormatContext context, ClassLoader
classLoader) {
ServiceLoader<FileFormatFactory> serviceLoader =
ServiceLoader.load(FileFormatFactory.class, classLoader);
for (FileFormatFactory factory : serviceLoader) {
if (factory.identifier().equals(formatIdentifier.toLowerCase())) {
- return Optional.of(factory.create(formatOptions));
+ return Optional.of(factory.create(context));
}
}
diff --git
a/paimon-common/src/main/java/org/apache/paimon/format/FileFormatFactory.java
b/paimon-common/src/main/java/org/apache/paimon/format/FileFormatFactory.java
index bab037d41..348ab968e 100644
---
a/paimon-common/src/main/java/org/apache/paimon/format/FileFormatFactory.java
+++
b/paimon-common/src/main/java/org/apache/paimon/format/FileFormatFactory.java
@@ -25,5 +25,24 @@ public interface FileFormatFactory {
String identifier();
- FileFormat create(Options formatOptions);
+ FileFormat create(FormatContext formatContext);
+
+ /** the format context. */
+ class FormatContext {
+ private final Options formatOptions;
+ private final int readBatchSize;
+
+ public FormatContext(Options formatOptions, int readBatchSize) {
+ this.formatOptions = formatOptions;
+ this.readBatchSize = readBatchSize;
+ }
+
+ public Options formatOptions() {
+ return formatOptions;
+ }
+
+ public int readBatchSize() {
+ return readBatchSize;
+ }
+ }
}
diff --git
a/paimon-common/src/test/java/org/apache/paimon/format/TestFileFormatFactory.java
b/paimon-common/src/test/java/org/apache/paimon/format/TestFileFormatFactory.java
new file mode 100644
index 000000000..67ffbe614
--- /dev/null
+++
b/paimon-common/src/test/java/org/apache/paimon/format/TestFileFormatFactory.java
@@ -0,0 +1,34 @@
+package org.apache.paimon.format;
+
+import org.apache.paimon.options.Options;
+
+import org.junit.jupiter.api.Test;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
+public class TestFileFormatFactory implements FileFormatFactory {
+
+ @Override
+ public String identifier() {
+ return "test";
+ }
+
+ @Override
+ public FileFormat create(FormatContext context) {
+ assertThat(context.formatOptions().get("hello")).isEqualTo("world");
+ assertThat(context.readBatchSize()).isEqualTo(1024);
+ throw new SuccessException();
+ }
+
+ public static class SuccessException extends RuntimeException {}
+
+ @Test
+ public void testCreateFileFormat() {
+ Options options = new Options();
+ options.setString("hello", "world");
+ assertThrows(
+ SuccessException.class,
+ () -> new TestFileFormatFactory().create(new
FormatContext(options, 1024)));
+ }
+}
diff --git a/paimon-core/src/main/java/org/apache/paimon/CoreOptions.java
b/paimon-core/src/main/java/org/apache/paimon/CoreOptions.java
index 9da783634..acb986244 100644
--- a/paimon-core/src/main/java/org/apache/paimon/CoreOptions.java
+++ b/paimon-core/src/main/java/org/apache/paimon/CoreOptions.java
@@ -21,6 +21,7 @@ package org.apache.paimon;
import org.apache.paimon.annotation.Documentation.ExcludeFromDocumentation;
import org.apache.paimon.annotation.Documentation.Immutable;
import org.apache.paimon.format.FileFormat;
+import org.apache.paimon.format.FileFormatFactory;
import org.apache.paimon.fs.Path;
import org.apache.paimon.options.ConfigOption;
import org.apache.paimon.options.MemorySize;
@@ -523,6 +524,12 @@ public class CoreOptions implements Serializable {
.defaultValue(MemorySize.parse("256 mb"))
.withDescription("Max memory size for lookup cache.");
+ public static final ConfigOption<Integer> READ_BATCH_SIZE =
+ key("read.batch-size")
+ .intType()
+ .defaultValue(1024)
+ .withDescription("Read batch size for orc and parquet.");
+
private final Options options;
public CoreOptions(Map<String, String> options) {
@@ -558,11 +565,11 @@ public class CoreOptions implements Serializable {
}
public FileFormat fileFormat() {
- return FileFormat.fromTableOptions(options, FILE_FORMAT);
+ return createFileFormat(options, FILE_FORMAT);
}
public FileFormat manifestFormat() {
- return FileFormat.fromTableOptions(options, MANIFEST_FORMAT);
+ return createFileFormat(options, MANIFEST_FORMAT);
}
public MemorySize manifestTargetSize() {
@@ -573,6 +580,15 @@ public class CoreOptions implements Serializable {
return options.get(PARTITION_DEFAULT_NAME);
}
+ public static FileFormat createFileFormat(Options options,
ConfigOption<String> formatOption) {
+ String formatIdentifier = options.get(formatOption);
+ int readBatchSize = options.get(READ_BATCH_SIZE);
+ return FileFormat.fromIdentifier(
+ formatIdentifier,
+ new FileFormatFactory.FormatContext(
+ options.removePrefix(formatIdentifier + "."),
readBatchSize));
+ }
+
public Map<Integer, String> fileCompressionPerLevel() {
Map<String, String> levelCompressions =
options.get(FILE_COMPRESSION_PER_LEVEL);
return levelCompressions.entrySet().stream()
@@ -752,6 +768,10 @@ public class CoreOptions implements Serializable {
return options.get(PARTITION_TIMESTAMP_PATTERN);
}
+ public int readBatchSize() {
+ return options.get(READ_BATCH_SIZE);
+ }
+
/** Specifies the merge engine for table with primary key. */
public enum MergeEngine implements DescribedEnum {
DEDUPLICATE("deduplicate", "De-duplicate and keep the last row."),
diff --git
a/paimon-core/src/main/java/org/apache/paimon/format/FileFormatDiscover.java
b/paimon-core/src/main/java/org/apache/paimon/format/FileFormatDiscover.java
index 4d762e89c..34f9f8df4 100644
--- a/paimon-core/src/main/java/org/apache/paimon/format/FileFormatDiscover.java
+++ b/paimon-core/src/main/java/org/apache/paimon/format/FileFormatDiscover.java
@@ -36,7 +36,10 @@ public interface FileFormatDiscover {
}
private FileFormat create(String identifier) {
- return FileFormat.fromIdentifier(identifier,
options.toConfiguration());
+ return FileFormat.fromIdentifier(
+ identifier,
+ new FileFormatFactory.FormatContext(
+ options.toConfiguration(),
options.readBatchSize()));
}
};
}
diff --git a/paimon-core/src/test/java/org/apache/paimon/FileFormatTest.java
b/paimon-core/src/test/java/org/apache/paimon/FileFormatTest.java
index 28f40424f..cda1f8940 100644
--- a/paimon-core/src/test/java/org/apache/paimon/FileFormatTest.java
+++ b/paimon-core/src/test/java/org/apache/paimon/FileFormatTest.java
@@ -89,6 +89,6 @@ public class FileFormatTest {
Options tableOptions = new Options();
tableOptions.set(CoreOptions.FILE_FORMAT, "avro");
tableOptions.setString("avro.codec", codec);
- return FileFormat.fromTableOptions(tableOptions,
CoreOptions.FILE_FORMAT);
+ return CoreOptions.createFileFormat(tableOptions,
CoreOptions.FILE_FORMAT);
}
}
diff --git
a/paimon-core/src/test/java/org/apache/paimon/format/FileStatsExtractingAvroFormatFactory.java
b/paimon-core/src/test/java/org/apache/paimon/format/FileStatsExtractingAvroFormatFactory.java
index db9c3b0aa..2299914c1 100644
---
a/paimon-core/src/test/java/org/apache/paimon/format/FileStatsExtractingAvroFormatFactory.java
+++
b/paimon-core/src/test/java/org/apache/paimon/format/FileStatsExtractingAvroFormatFactory.java
@@ -18,8 +18,6 @@
package org.apache.paimon.format;
-import org.apache.paimon.options.Options;
-
/** Factory to create {@link FileStatsExtractingAvroFormat}. */
public class FileStatsExtractingAvroFormatFactory implements FileFormatFactory
{
@@ -29,7 +27,7 @@ public class FileStatsExtractingAvroFormatFactory implements
FileFormatFactory {
}
@Override
- public FileFormat create(Options formatOptions) {
+ public FileFormat create(FormatContext formatContext) {
return new FileStatsExtractingAvroFormat();
}
}
diff --git
a/paimon-format/src/main/java/org/apache/paimon/format/avro/AvroFileFormatFactory.java
b/paimon-format/src/main/java/org/apache/paimon/format/avro/AvroFileFormatFactory.java
index f93e73a8e..a1aae2d45 100644
---
a/paimon-format/src/main/java/org/apache/paimon/format/avro/AvroFileFormatFactory.java
+++
b/paimon-format/src/main/java/org/apache/paimon/format/avro/AvroFileFormatFactory.java
@@ -20,7 +20,6 @@ package org.apache.paimon.format.avro;
import org.apache.paimon.format.FileFormat;
import org.apache.paimon.format.FileFormatFactory;
-import org.apache.paimon.options.Options;
/** Factory to create {@link AvroFileFormat}. */
public class AvroFileFormatFactory implements FileFormatFactory {
@@ -31,7 +30,7 @@ public class AvroFileFormatFactory implements
FileFormatFactory {
}
@Override
- public FileFormat create(Options formatOptions) {
- return new AvroFileFormat(formatOptions);
+ public FileFormat create(FormatContext formatContext) {
+ return new AvroFileFormat(formatContext.formatOptions());
}
}
diff --git
a/paimon-format/src/main/java/org/apache/paimon/format/orc/OrcFileFormat.java
b/paimon-format/src/main/java/org/apache/paimon/format/orc/OrcFileFormat.java
index 5c99d4058..8ac95f2bb 100644
---
a/paimon-format/src/main/java/org/apache/paimon/format/orc/OrcFileFormat.java
+++
b/paimon-format/src/main/java/org/apache/paimon/format/orc/OrcFileFormat.java
@@ -21,6 +21,7 @@ package org.apache.paimon.format.orc;
import org.apache.paimon.annotation.VisibleForTesting;
import org.apache.paimon.data.InternalRow;
import org.apache.paimon.format.FileFormat;
+import org.apache.paimon.format.FileFormatFactory.FormatContext;
import org.apache.paimon.format.FileStatsExtractor;
import org.apache.paimon.format.FormatReaderFactory;
import org.apache.paimon.format.FormatWriterFactory;
@@ -42,7 +43,6 @@ import org.apache.paimon.types.MultisetType;
import org.apache.paimon.types.RowType;
import org.apache.paimon.utils.Projection;
-import org.apache.hadoop.hive.ql.exec.vector.VectorizedRowBatch;
import org.apache.orc.TypeDescription;
import javax.annotation.Nullable;
@@ -64,12 +64,15 @@ public class OrcFileFormat extends FileFormat {
private final org.apache.hadoop.conf.Configuration readerConf;
private final org.apache.hadoop.conf.Configuration writerConf;
- public OrcFileFormat(Options formatOptions) {
+ private final FormatContext formatContext;
+
+ public OrcFileFormat(FormatContext formatContext) {
super(IDENTIFIER);
- this.orcProperties = getOrcProperties(formatOptions);
+ this.orcProperties = getOrcProperties(formatContext.formatOptions());
this.readerConf = new org.apache.hadoop.conf.Configuration();
this.orcProperties.forEach((k, v) -> readerConf.set(k.toString(),
v.toString()));
this.writerConf = new org.apache.hadoop.conf.Configuration();
+ this.formatContext = formatContext;
}
@VisibleForTesting
@@ -100,8 +103,7 @@ public class OrcFileFormat extends FileFormat {
(RowType) refineDataType(type),
Projection.of(projection).toTopLevelIndexes(),
orcPredicates,
- // same as the default value to avoid the orc bug
- VectorizedRowBatch.DEFAULT_SIZE);
+ formatContext.readBatchSize());
}
/**
diff --git
a/paimon-format/src/main/java/org/apache/paimon/format/orc/OrcFileFormatFactory.java
b/paimon-format/src/main/java/org/apache/paimon/format/orc/OrcFileFormatFactory.java
index 10498e7e1..1c316463c 100644
---
a/paimon-format/src/main/java/org/apache/paimon/format/orc/OrcFileFormatFactory.java
+++
b/paimon-format/src/main/java/org/apache/paimon/format/orc/OrcFileFormatFactory.java
@@ -34,8 +34,11 @@ public class OrcFileFormatFactory implements
FileFormatFactory {
}
@Override
- public OrcFileFormat create(Options formatOptions) {
- return new OrcFileFormat(supplyDefaultOptions(formatOptions));
+ public OrcFileFormat create(FormatContext formatContext) {
+ return new OrcFileFormat(
+ new FormatContext(
+ supplyDefaultOptions(formatContext.formatOptions()),
+ formatContext.readBatchSize()));
}
private Options supplyDefaultOptions(Options options) {
diff --git
a/paimon-format/src/main/java/org/apache/paimon/format/parquet/ParquetFileFormat.java
b/paimon-format/src/main/java/org/apache/paimon/format/parquet/ParquetFileFormat.java
index 6785c0a73..f63fe940e 100644
---
a/paimon-format/src/main/java/org/apache/paimon/format/parquet/ParquetFileFormat.java
+++
b/paimon-format/src/main/java/org/apache/paimon/format/parquet/ParquetFileFormat.java
@@ -20,6 +20,7 @@ package org.apache.paimon.format.parquet;
import org.apache.paimon.annotation.VisibleForTesting;
import org.apache.paimon.format.FileFormat;
+import org.apache.paimon.format.FileFormatFactory.FormatContext;
import org.apache.paimon.format.FileStatsExtractor;
import org.apache.paimon.format.FormatReaderFactory;
import org.apache.paimon.format.FormatWriterFactory;
@@ -37,29 +38,32 @@ import static
org.apache.paimon.format.parquet.ParquetFileFormatFactory.IDENTIFI
/** Parquet {@link FileFormat}. */
public class ParquetFileFormat extends FileFormat {
- private final Options formatOptions;
+ private final FormatContext formatContext;
- public ParquetFileFormat(Options formatOptions) {
+ public ParquetFileFormat(FormatContext formatContext) {
super(IDENTIFIER);
- this.formatOptions = formatOptions;
+ this.formatContext = formatContext;
}
@VisibleForTesting
Options formatOptions() {
- return formatOptions;
+ return formatContext.formatOptions();
}
@Override
public FormatReaderFactory createReaderFactory(
RowType type, int[][] projection, List<Predicate> filters) {
return new ParquetReaderFactory(
- getParquetConfiguration(formatOptions),
Projection.of(projection).project(type));
+ getParquetConfiguration(formatContext.formatOptions()),
+ Projection.of(projection).project(type),
+ formatContext.readBatchSize());
}
@Override
public FormatWriterFactory createWriterFactory(RowType type) {
return new ParquetWriterFactory(
- new RowDataParquetBuilder(type,
getParquetConfiguration(formatOptions)));
+ new RowDataParquetBuilder(
+ type,
getParquetConfiguration(formatContext.formatOptions())));
}
@Override
diff --git
a/paimon-format/src/main/java/org/apache/paimon/format/parquet/ParquetFileFormatFactory.java
b/paimon-format/src/main/java/org/apache/paimon/format/parquet/ParquetFileFormatFactory.java
index bbdfa2552..4a6ad9ff0 100644
---
a/paimon-format/src/main/java/org/apache/paimon/format/parquet/ParquetFileFormatFactory.java
+++
b/paimon-format/src/main/java/org/apache/paimon/format/parquet/ParquetFileFormatFactory.java
@@ -36,8 +36,11 @@ public class ParquetFileFormatFactory implements
FileFormatFactory {
}
@Override
- public ParquetFileFormat create(Options formatOptions) {
- return new ParquetFileFormat(supplyDefaultOptions(formatOptions));
+ public ParquetFileFormat create(FormatContext formatContext) {
+ return new ParquetFileFormat(
+ new FormatContext(
+ supplyDefaultOptions(formatContext.formatOptions()),
+ formatContext.readBatchSize()));
}
private Options supplyDefaultOptions(Options options) {
diff --git
a/paimon-format/src/main/java/org/apache/paimon/format/parquet/ParquetReaderFactory.java
b/paimon-format/src/main/java/org/apache/paimon/format/parquet/ParquetReaderFactory.java
index 24ed57c33..22c023167 100644
---
a/paimon-format/src/main/java/org/apache/paimon/format/parquet/ParquetReaderFactory.java
+++
b/paimon-format/src/main/java/org/apache/paimon/format/parquet/ParquetReaderFactory.java
@@ -73,18 +73,12 @@ public class ParquetReaderFactory implements
FormatReaderFactory {
private static final String ALLOCATION_SIZE =
"parquet.read.allocation.size";
- private static final int BATCH_SIZE = 2048;
-
private final Options conf;
private final String[] projectedFields;
private final DataType[] projectedTypes;
private final int batchSize;
private final Set<Integer> unknownFieldsIndices = new HashSet<>();
- public ParquetReaderFactory(Options formatConfig, RowType projectedType) {
- this(formatConfig, projectedType, BATCH_SIZE);
- }
-
public ParquetReaderFactory(Options conf, RowType projectedType, int
batchSize) {
this.conf = conf;
this.projectedFields = projectedType.getFieldNames().toArray(new
String[0]);
diff --git
a/paimon-format/src/test/java/org/apache/paimon/format/orc/OrcFileFormatTest.java
b/paimon-format/src/test/java/org/apache/paimon/format/orc/OrcFileFormatTest.java
index 335854c5f..42fe80ce4 100644
---
a/paimon-format/src/test/java/org/apache/paimon/format/orc/OrcFileFormatTest.java
+++
b/paimon-format/src/test/java/org/apache/paimon/format/orc/OrcFileFormatTest.java
@@ -18,6 +18,7 @@
package org.apache.paimon.format.orc;
+import org.apache.paimon.format.FileFormatFactory;
import org.apache.paimon.options.Options;
import org.junit.jupiter.api.Test;
@@ -32,7 +33,9 @@ public class OrcFileFormatTest {
public void testAbsent() {
Options options = new Options();
options.setString("haha", "1");
- OrcFileFormat orc = new OrcFileFormatFactory().create(options);
+ OrcFileFormat orc =
+ new OrcFileFormatFactory()
+ .create(new FileFormatFactory.FormatContext(options,
1024));
assertThat(orc.orcProperties().getProperty(IDENTIFIER + ".haha",
"")).isEqualTo("1");
assertThat(orc.orcProperties().getProperty(IDENTIFIER + ".compress",
"")).isEqualTo("lz4");
}
@@ -42,7 +45,9 @@ public class OrcFileFormatTest {
Options options = new Options();
options.setString("haha", "1");
options.setString("compress", "zlib");
- OrcFileFormat orc = new OrcFileFormatFactory().create(options);
+ OrcFileFormat orc =
+ new OrcFileFormatFactory()
+ .create(new FileFormatFactory.FormatContext(options,
1024));
assertThat(orc.orcProperties().getProperty(IDENTIFIER + ".haha",
"")).isEqualTo("1");
assertThat(orc.orcProperties().getProperty(IDENTIFIER + ".compress",
"")).isEqualTo("zlib");
}
diff --git
a/paimon-format/src/test/java/org/apache/paimon/format/parquet/ParquetFileFormatTest.java
b/paimon-format/src/test/java/org/apache/paimon/format/parquet/ParquetFileFormatTest.java
index 0f238da66..f67a91abb 100644
---
a/paimon-format/src/test/java/org/apache/paimon/format/parquet/ParquetFileFormatTest.java
+++
b/paimon-format/src/test/java/org/apache/paimon/format/parquet/ParquetFileFormatTest.java
@@ -18,6 +18,7 @@
package org.apache.paimon.format.parquet;
+import org.apache.paimon.format.FileFormatFactory;
import org.apache.paimon.options.ConfigOption;
import org.apache.paimon.options.ConfigOptions;
import org.apache.paimon.options.Options;
@@ -38,7 +39,9 @@ public class ParquetFileFormatTest {
@Test
public void testAbsent() {
Options options = new Options();
- ParquetFileFormat parquet = new
ParquetFileFormatFactory().create(options);
+ ParquetFileFormat parquet =
+ new ParquetFileFormatFactory()
+ .create(new FileFormatFactory.FormatContext(options,
1024));
assertThat(parquet.formatOptions().getString(KEY1)).isEqualTo("absent");
}
@@ -46,7 +49,9 @@ public class ParquetFileFormatTest {
public void testPresent() {
Options options = new Options();
options.setString(KEY1.key(), "v1");
- ParquetFileFormat parquet = new
ParquetFileFormatFactory().create(options);
+ ParquetFileFormat parquet =
+ new ParquetFileFormatFactory()
+ .create(new FileFormatFactory.FormatContext(options,
1024));
assertThat(parquet.formatOptions().getString(KEY1)).isEqualTo("v1");
}
@@ -66,7 +71,9 @@ public class ParquetFileFormatTest {
private String getCompressionCodec(Options conf) {
Options formatOptions = conf.removePrefix(IDENTIFIER + ".");
- ParquetFileFormat parquet = new
ParquetFileFormatFactory().create(formatOptions);
+ ParquetFileFormat parquet =
+ new ParquetFileFormatFactory()
+ .create(new
FileFormatFactory.FormatContext(formatOptions, 1024));
return getParquetConfiguration(parquet.formatOptions())
.getString(ParquetOutputFormat.COMPRESSION, null);
}