Skip to content

Commit

Permalink
fix(parquet): handle java security for ParquetWriter
Browse files Browse the repository at this point in the history
close #62
  • Loading branch information
tchiotludo committed Dec 20, 2023
1 parent c898a09 commit f1396d2
Showing 1 changed file with 10 additions and 2 deletions.
12 changes: 10 additions & 2 deletions src/main/java/io/kestra/plugin/serdes/parquet/ParquetWriter.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
import io.kestra.core.models.executions.metrics.Counter;
import io.kestra.core.models.tasks.RunnableTask;
import io.kestra.core.runners.RunContext;
import io.kestra.core.utils.IdUtils;
import io.kestra.plugin.serdes.avro.AbstractAvroConverter;
import io.kestra.plugin.serdes.avro.AvroConverter;
import lombok.*;
Expand All @@ -16,9 +17,12 @@
import org.apache.parquet.hadoop.ParquetFileWriter;
import org.apache.parquet.hadoop.metadata.CompressionCodecName;
import org.apache.parquet.hadoop.util.HadoopOutputFile;
import org.apache.poi.util.TempFile;
import org.xerial.snappy.Snappy;

import java.io.*;
import java.net.URI;
import java.nio.file.Files;
import java.util.Locale;
import javax.validation.constraints.NotNull;

Expand Down Expand Up @@ -80,10 +84,14 @@ public class ParquetWriter extends AbstractAvroConverter implements RunnableTask
ParquetTools.handleLogger();
}

@SuppressWarnings("ResultOfMethodCallIgnored")
@Override
public Output run(RunContext runContext) throws Exception {
// temp file
File tempFile = runContext.tempFile(".parquet").toFile();
// temp file, we create multiple useless tree to avoid incompatibility with EE javaSecurity
java.nio.file.Path tempDir = runContext.tempDir().resolve(IdUtils.create());
tempDir.toFile().mkdirs();
File tempFile = Files.createTempFile(tempDir, "", ".parquet").toFile();

BufferedOutputStream output = new BufferedOutputStream(new FileOutputStream(tempFile));

// avro options
Expand Down

0 comments on commit f1396d2

Please sign in to comment.