Suresh, Look into using JsonStorage(). This seems to be what you're looking for. http://pig.apache.org/docs/r0.10.0/func.html#jsonloadstore
On Fri, Jun 21, 2013 at 8:35 AM, Shahab Yunus <shahab.yu...@gmail.com>wrote: > Have you tried flattening the bag first? > > > On Fri, Jun 21, 2013 at 5:43 AM, Suresh Saggar <s...@bsb.in> wrote: > > > Facing a similar challenge. Here X contains one column named 'metadata' > of > > type bytearray. But the actual content is a JSON i.e. the value of > metadata > > field is a JSON (keys as sId & cId) as shown below: > > > > grunt> describe X > > X: {metadata: bytearray} > > > > grunt> dump X > > ({"sId":"003_w","cId":"k"}) > > ({"sId":"001_rf","cId":"r"}) > > ({"sId":"001_rf","cId":"r"}) > > ({"sId":"004_rf","cId":"r"}) > > > > Any idea how can I generate cId & sId as separate chararray columns? TIA > > > > Ss > > > > On Tue, Jun 18, 2013 at 5:52 AM, Pradeep Gollakota <pradeep...@gmail.com > > >wrote: > > > > > What's the error you are seeing? What does you bag of maps look like? > > What > > > exactly is a userId? Is it a field or is it a key in the map? > > > > > > > > > On Mon, Jun 17, 2013 at 8:18 PM, Jerry Lam <chiling...@gmail.com> > wrote: > > > > > > > Hi Pig users, > > > > > > > > anyone has experience in dereferencing a bag of maps? For instance > (in > > > the > > > > example below), doc in the B contains maps of userId and time. I want > > to > > > > keep only userId in C. Pig throws an exception on C. Any help is > > > > appreciated. > > > > > > > > A = LOAD 'data' AS doc:bytearray; > > > > > > > > B = FOREACH A GENERATE (bag{})doc; > > > > > > > > -- C = FOREACH B GENERATE doc.userId; // this doesn't work. > > > > > > > > Best Regards, > > > > > > > > Jerry > > > > > > > > > >