Я хочу записать свои данные в зашифрованный выходной поток в формате паркета.
Все примеры и API (parquet-avro, parquet-had oop, parquet-common) требуют записи пути к файлу. Могу ли я записать паркет непосредственно в выходной поток?
Пример кода потока:
public void encryptedOS(GenericRecord record){
PGPEncryptedDataGenerator encryptedDataGenerator = new PGPEncryptedDataGenerator(encryptorBuilder);
PGPPublicKey encKey = cachedKey[DEorKE].pgpPublicKey;
encryptedDataGenerator.addMethod(new JcePublicKeyKeyEncryptionMethodGenerator(encKey).setProvider(BC));
OutputStream encryptedOutputStream = encryptedDataGenerator.open(os, new byte[BUFFER_SIZE]);
byte[] buffer = new byte[BUFFER_SIZE];
PGPLiteralDataGenerator lData = new PGPLiteralDataGenerator();
OutputStream pOut = lData.open(encryptedOutputStream, PGPLiteralData.BINARY, new Date(), buffer);
ParquetOutputStream wrappedOS = ((ParquetOutputStream) pOut).wrapOutputStream();
writeData(wrappedOS, record);
}
public void writeData(ParquetOutputStream wrappedOS, GenericRecord record){
wrappedOS.write(record);
}
Любое предложение приветствуется, спасибо!