Hi Raihan,

You can try somthing like this, see below.

On Sep 19, 2013, at 4:04 AM, Raihan Jamal <[email protected]> wrote:

> I am trying to use Apache Avro to serialize one of our Attributes data and I 
> want to use binary encoding version for that not the JSON version. In this 
> case, I don't want to serialize to disk or some avro data files. I am 
> planning to write Avro binary encoded-data in Cassandra column family.
> 
> Below is the code so far I have- I am not sure how to start encoding into 
> binary version.
> 
>     Schema schema = new 
> Parser().parse((AvroExample.class.getResourceAsStream("/user.avsc")));
>       
>     GenericRecord record = new GenericData.Record(schema);
>     record.put("vbs", "99,E,0");
>     record.put("eby", "0,E,,,,,,,15");
>     record.put("ste", "77;2,0;1,16;3");
>       
>       
>     // what I am supposed to do here to serialize into binary encoded version 
> of Avro?
>       
        GenericDatumWriter<GenericRecord> writer = new 
GenericDatumWriter<GenericRecord>(schema);
        ByteArrayOutputStream os = new ByteArrayOutputStream();
        Encoder e = EncoderFactory.get().binaryEncoder(os, null);
        writer.write(record, e);
        e.flush();
        byte[] byteData = os.toByteArray();
        os.close();
>       
>    // then write to Cassandra here.
>       

I don't know anything about cassandra, but I'm pretty sure you can write binary 
blobs there.

-Mika

>       
> Can anyone provide a simple example basis on my code how to do that? And then 
> I can use that to write into Cassandra column family.
> 
> Thanks.
> 
> 
> 
> 
> Raihan Jamal

Reply via email to