jjzjj

ParquetWriter

全部标签

hadoop - ParquetWriter 在 java 独立程序中输出空的 parquet 文件

我试图将现有的avro文件转换为parquet。但是输出的Parquet文件是空的。我不确定我做错了什么......我的代码片段:FileReaderfileReader=DataFileReader.openReader(newFile("output/users.avro"),newGenericDatumReader());SchemaavroSchema=fileReader.getSchema();//generatethecorrespondingParquetschemaMessageTypeparquetSchema=newAvroSchemaConverter().c

java - 如何将数据附加到现有的 Parquet 文件

我正在使用以下代码创建ParquetWriter并将记录写入其中。ParquetWriterparquetWriter=newParquetWriter(path,writeSupport,CompressionCodecName.SNAPPY,BLOCK_SIZE,PAGE_SIZE);finalGenericRecordrecord=newGenericData.Record(avroSchema);parquetWriter.write(record);但它只允许创建新文件(在指定路径)。有没有办法将数据附加到现有的Parquet文件(在路径中)?在我的情况下缓存parquetW

java - 如何在关闭它并将其写入磁盘之前获取 ParquetWriter 对象的内存大小?

我正在从流中读取Avro消息并使用parquet.hadoop.ParquetWriter将它们写入Parquet文件。我试图让输出文件的大小超过阈值限制。问题是ParquetWriter将所有内容都保存在内存中,并且只在writer关闭时才将其写入磁盘。根据Parquet文档,数据以最终格式写入内存对象,这意味着内存中对象的大小与磁盘上的最终大小相同。我的问题是如何获取内存中写入数据的大小,以便决定关闭编写器?我尝试使用写入ParquetWriter的avro消息的字节大小作为Parquetwriter文件大小的估计值,但这与parquetwriter大小有很大不同,因为parque