Home | About | Sematext search-lucene.com search-hadoop.com
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB
 Search Hadoop and all its subprojects:

Switch to Threaded View
Avro >> mail # user >> Type cast exception


Copy link to this message
-
Type cast exception
Hello,

I am trying to read from avro data file and want to use specific object (exa sample.LogMessage)
The following code gives exception mentioned below. Reader.next() when collected in Object/Record, no exception is thrown which is expected.

Any help is appreciated.

public void testMethod5() throws Exception {
            DatumWriter<LogMessage> writer = new GenericDatumWriter<LogMessage>(LogMessage.SCHEMA$);
            DataFileWriter<LogMessage> out = new DataFileWriter<LogMessage>(writer);

            out.create(LogMessage.SCHEMA$, <File>);
            for (int i = 0; i < 100; i++) {
                  LogMessage msg = new LogMessage();
                  msg.applicationName = new Utf8("app" + i);
                  msg.userid = new Utf8("user" + i);
                  msg.message = new Utf8("this is test log message " + i);

                  out.append(msg);
            }
            out.close();

            DataFileReader<LogMessage> reader;
            GenericDatumReader<LogMessage> din = new GenericDatumReader<LogMessage>(LogMessage.SCHEMA$);
            reader = new DataFileReader<LogMessage>(new File(<>), din);

            while (reader.hasNext()) {
                  LogMessage msg = reader.next();
                  System.out.println(msg.toString());
            }
            reader.close();
      }

Exception

java.lang.ClassCastException: org.apache.avro.generic.GenericData$Record cannot be cast to sample.LogMessage
      at com.ibm.clas.ReaderWriter.testMethod5(ReaderWriter.java:313)
      at com.ibm.clas.ReaderWriter.main(ReaderWriter.java:322)
Thanks
Jaydeep
DISCLAIMER
=========This e-mail may contain privileged and confidential information which is the property of Persistent Systems Ltd. It is intended only for the use of the individual or entity to which it is addressed. If you are not the intended recipient, you are not authorized to read, retain, copy, print, distribute or use this message. If you have received this communication in error, please notify the sender and delete all copies of this message. Persistent Systems Ltd. does not accept any liability for virus infected mails.
NEW: Monitor These Apps!
elasticsearch, apache solr, apache hbase, hadoop, redis, casssandra, amazon cloudwatch, mysql, memcached, apache kafka, apache zookeeper, apache storm, ubuntu, centOS, red hat, debian, puppet labs, java, senseiDB