Hi John

 

You can definitely read and write Avro data files using C++.  The
DataFileWriter and DataFileReader classes are what you need.

 

The README is severely out of date.

 

I can't comment on the relative performance of the Java/C++ API's - we
used the C++ API for our application, but for performance reasons we
don't use the GenericDatum class, as it does have poor performance for
our particular mix of data.  I don't know if the Java API fares any
better in this regard.

 

Regards,

 

Steve Roehrs

Senior Software Engineer | Lockheed Martin

 

| p: +61 8 7389 4525    | m: +61 4 3891 5622     | f: +61 8 7389 4551

| w: www.rlmgroup.com.au | e: steve.roe...@rlmgroup.com.au

| Company address: 82-86 Woomera Ave, Edinburgh, SA 5111

This email and any attachment to it remains the property of Lockheed
Martin and is intended only to be read or used by the named addressee.
It may contain information that is confidential, commercially valuable
or subject to legal privilege.  If you receive this email in error,
please immediately delete it and notify the sender.  Opinions,
conclusions and other information in this message that do not relate to
the official business of Lockheed Martin or any companies within
Lockheed Martin shall be understood as neither given nor endorsed by
them.

________________________________

From: John Lilley [mailto:john.lil...@redpoint.net] 
Sent: Wednesday, August 06, 2014 6:28 AM
To: user@avro.apache.org
Subject: State of the C++ vs Java implementations

 

Greetings,

 

I am desiring to read and write Avro files (such as those manipulated by
MapReduce applications) from a C++ program.  While there are
higher-level wrappers (such as Hive), I am interested in reading/writing
the files directly.  There are both C++ and Java library
implementations; however, in the C++ API README I see "And the file and
rpc containers are not yet implemented."  Does this mean that I can't
read and write Avro files using the C++ library?

 

We have very good C++/JNI wrapper-generator, so using the Java is not
terribly difficult.  Given that, which interface would you recommend?
Does the C++ interface (assuming it works) have significant performance
advantages?

 

Thanks

john

Reply via email to