我正在使用以下代码创建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是不可行的。

最佳答案

我有一个名为API的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')

10-05 17:45