Fachang Yang created PARQUET-2446:
-------------------------------------

             Summary: ProtoParquetWriter Not Support DynamicMessage
                 Key: PARQUET-2446
                 URL: https://issues.apache.org/jira/browse/PARQUET-2446
             Project: Parquet
          Issue Type: Improvement
          Components: parquet-protobuf
    Affects Versions: 1.13.1
         Environment: Parquet-Protobuf 1.13.1
            Reporter: Fachang Yang


when i write DynamicMessages to parquet by protoParquetWriter,
{code:java}
pbwriter = ProtoParquetWriter.<DynamicMessage>builder(s3ParquetOutputFile)
        .withMessage(DynamicMessage.class)
        .withConf(hadoopConf)
        .withWriteMode(ParquetFileWriter.Mode.OVERWRITE)
        .withDictionaryEncoding(true)
        .withCompressionCodec(storage.conf().parquetCompressionCodecName())
        .withPageSize(PAGE_SIZE)
        .build(); {code}
I got an exception like this:
{code:java}
[ERROR] - com.twitter.elephantbird.util.Protobufs -Protobufs.java(126) -Could 
not find method getDescriptor in class 
com.google.protobuf.DynamicMessagecom.google.protobuf.DynamicMessage
java.lang.NoSuchMethodException: 
com.google.protobuf.DynamicMessage.getDescriptor()
        at java.lang.Class.getMethod(Class.java:1786)
        at 
com.twitter.elephantbird.util.Protobufs.getMessageDescriptor(Protobufs.java:123)
        at 
org.apache.parquet.proto.ProtoWriteSupport.init(ProtoWriteSupport.java:136)
        at 
org.apache.parquet.hadoop.ParquetWriter.<init>(ParquetWriter.java:279)
        at 
org.apache.parquet.hadoop.ParquetWriter$Builder.build(ParquetWriter.java:702) 
{code}
I believe that ProtoParquetWriter should support DynamicMessage and be capable 
of creating ProtoWriteSupport using descriptors  same with PBMessage class.

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to