Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
Avro, mail # user - Make a copy of an avro record


Copy link to this message
-
Re: Make a copy of an avro record
Jeremy Lewi 2012-03-12, 02:37
Thanks.

J

On Sun, Mar 11, 2012 at 6:20 PM, James Baldassari <[EMAIL PROTECTED]>wrote:

> GenericData is a singleton.  You can use the static method
> GenericData#get() to obtain the singleton instance:
>
>
> http://avro.apache.org/docs/current/api/java/org/apache/avro/generic/GenericData.html#get()
>
> -James
>
>
> On Sun, Mar 11, 2012 at 5:22 PM, Jeremy Lewi <[EMAIL PROTECTED]> wrote:
>
>> Yes. How do I instantiate an instance of GenericData though? It looks
>> like its constructors are protected.
>>
>> Thanks
>> J
>>
>>
>> On Sun, Mar 11, 2012 at 1:52 PM, <[EMAIL PROTECTED]> wrote:
>>
>>> There is deepcopy method on genericdata I think
>>>
>>> I used it to create deep copies of the avro data
>>>
>>> Sent from my iPhone
>>>
>>> On Mar 11, 2012, at 3:40 PM, Jeremy Lewi <[EMAIL PROTECTED]> wrote:
>>>
>>> > Hi,
>>> >
>>> > In java, I'd like to make a deep copy of an avro record.
>>> >
>>> > Looking at the code that the avro compiler generates it looks like the
>>> way to do this for records of type GraphNodeData
>>> > would be
>>> > GraphNodeData copy = GraphNodeData.newBuilder(existing_value).build();
>>> >
>>> > where GraphNodeData is the name of my avro record.
>>> >
>>> > Unfortunately, this generates a compile time error because
>>> > the method GraphNodeData.build  is decorated with "@Override" but it
>>> apparently does not override any method.
>>> > Deleting "@Override" makes the code work. Unfortunately, I would have
>>> to do this every time I regenerated my avro classes from the schema.
>>> >
>>> > Am I doing something wrong or should I file a bug?
>>> >
>>> > Thanks
>>> > J
>>>
>>
>>
>