次のコードを使用して、ParquetWriterを作成し、それにレコードを書き込みます。
ParquetWriter<GenericRecord> parquetWriter = new ParquetWriter(path, writeSupport, CompressionCodecName.SNAPPY, BLOCK_SIZE, PAGE_SIZE);
final GenericRecord record = new GenericData.Record(avroSchema);
parquetWriter.write(record);
しかし、それは(指定されたパスで)新しいファイルを作成することのみを許可します。既存の寄木細工のファイル(パス)にデータを追加する方法はありますか?私の場合、parquetWriterをキャッシュすることはできません。
Spark追加と呼ばれるAPI SaveModeがあります: https://spark.Apache.org/docs/1.4.0/api/Java/org/Apache/spark/sql/ SaveMode.html これで問題が解決すると思います。
使用例:
df.write.mode('append').parquet('parquet_data_file')