我正在使用ProtoParquetWriter将protobuf写入Parquet,我也正在写入本地HDFS,并且每个parquetWriter仅写入一个文件。
我的代码在大数据环境中运行。
问题在于,运行大约30分钟后,我开始出现以下异常:
java.lang.ClassCastException:org.apache.parquet.io.MessageColumnIO无法转换为org.apache.parquet.io.PrimitiveColumnIO 在org.apache.parquet.io.MessageColumnIO $ MessageColumnIORecordConsumer.getColumnWriter(MessageColumnIO.java:432) 在org.apache.parquet.io.MessageColumnIO $ MessageColumnIORecordConsumer.addLong(MessageColumnIO.java:449) 在org.apache.parquet.proto.ProtoWriteSupport $ LongWriter.writeRawValue(ProtoWriteSupport.java:294) 在org.apache.parquet.proto.ProtoWriteSupport $ FieldWriter.writeField(ProtoWriteSupport.java:145) 在org.apache.parquet.proto.ProtoWriteSupport $ MessageWriter.writeAllFields(ProtoWriteSupport.java:229) 在org.apache.parquet.proto.ProtoWriteSupport $ MessageWriter.writeTopLevelMessage(ProtoWriteSupport.java:194)
我打印了导致此错误的消息,但看不到任何问题。
有什么主意吗?