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 >> How to use Apache Avro to encode the data in avro binary encoded form?


Copy link to this message
-
Re: How to use Apache Avro to encode the data in avro binary encoded form?
Thanks Mika. That worked fine

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();
That means, I can write byteData as the value for one of my columns.
Correct? I will figure out whether we can store binary blobs or not in
Cassandra. But just to make sure, I need to store byteData as it is as the
value for one of my columns.. Right?

And also how can I deserialize the above data after I retrieve from
Cassandra for that particular column? A simple example will make me
understand this as well. Thanks.
*Raihan Jamal*
On Thu, Sep 19, 2013 at 1:53 AM, Mika Ristimaki [via Apache Avro] <
ml-node+[EMAIL PROTECTED]> wrote:

> Hi Raihan,
>
> You can try somthing like this, see below.
>
> On Sep 19, 2013, at 4:04 AM, Raihan Jamal <[hidden email]<http://user/SendEmail.jtp?type=node&node=4028221&i=0>>
> 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
>
>
>
> ------------------------------
>  If you reply to this email, your message will be added to the discussion
> below:
>
> http://apache-avro.679487.n3.nabble.com/How-to-use-Apache-Avro-to-encode-the-data-in-avro-binary-encoded-form-tp4028217p4028221.html
>  To start a new topic under Avro - Users, email
> ml-node+[EMAIL PROTECTED]
> To unsubscribe from Apache Avro, click here<http://apache-avro.679487.n3.nabble.com/template/NamlServlet.jtp?macro=unsubscribe_by_code&node=679487&code=amFtYWxyYWloYW5AZ21haWwuY29tfDY3OTQ4N3wtMTk5OTc1MjQwMQ==>
> .
> NAML<http://apache-avro.679487.n3.nabble.com/template/NamlServlet.jtp?macro=macro_viewer&id=instant_html%21nabble%3Aemail.naml&base=nabble.naml.namespaces.BasicNamespace-nabble.view.web.template.NabbleNamespace-nabble.view.web.template.NodeNamespace&breadcrumbs=notify_subscribers%21nabble%3Aemail.naml-instant_emails%21nabble%3Aemail.naml-send_instant_email%21nabble%3Aemail.naml>
>
--
View this message in context: http://apache-avro.679487.n3.nabble.com/How-to-use-Apache-Avro-to-encode-the-data-in-avro-binary-encoded-form-tp4028217p4028224.html
Sent from the Avro - Users mailing list archive at Nabble.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