Записать данные в зашифрованный выходной поток в формате паркета - PullRequest
0 голосов
/ 16 января 2020

Я хочу записать свои данные в зашифрованный выходной поток в формате паркета.

Все примеры и 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);
}

Любое предложение приветствуется, спасибо!

...