I've been swamped with work recently. But I've updated the ticket with
two sub-tasks. One of the task is to fix comparator to solve the
problem that we couldn't sort on values of map. It seems to me that if
we didn't fix this, people using the BinStorage format will encounter
the same sorting problem.

There is a separate sub-task to implement TypedPigStorage that infers
type correctly. There have been several people who insisted that
PigStorage that does not resolve value type as it was originally
implemented is the correct thing for it to be doing, so I've moved
that task into a separate sub-task of pig-1016 so that it can be
resolved separately.

Sadly, I've been very busy, trying to cope with working and the
economy, so i haven't had a chance to continue the fix. Sorry.

I'll try to put some time into this during the weekend if people think
this is a useful feature...



--busy

p.s. btw, the patch as it stands will allow  you to build a pig that
allows the values of maps to be tuples or even another map. And it
will sort correctly. So if you have a big project and need it
urgently, give it a try.




On Thu, Nov 19, 2009 at 6:59 AM, Jeff Zhang <zjf...@gmail.com> wrote:
> Hi Kimmo,
>
> This is a bug of pig.
>
> Here's the JIRA item http://issues.apache.org/jira/browse/PIG-1016
>
>
> Jeff Zhang
>
>
> 2009/11/19 Kimmo Björnsson <ki...@kimmo.se>
>
>> Hi all.
>>
>> I'm trying to use a map with a tuple as the value. From the
>> documentation it looks like it would be possible. But I just can't get
>> it to work.
>>
>> Look at this small example. When it tries to parse the value of the
>> map-entry it won't accept a tuple. Do I need to implement an own
>> loader??
>>
>> grunt> cat mapwithtuple;
>> [words#(word1,word2),title#anicetitle]
>> grunt> x = load 'mapwithtuple' as (m:map[]);
>> grunt> dump x;
>> 2009-11-19 15:21:04,562 [main] WARN
>>
>> org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigHadoopLogger
>> - org.apache.pig.builtin.PigStorage: Unable to interpret value
>> [...@420f9c40 in field being converted to type map, caught
>> ParseException <Encountered " "(" "( "" at line 1, column 8.
>> Was expecting one of:
>>    <SIGNEDINTEGER> ...
>>    <LONGINTEGER> ...
>>    <DOUBLENUMBER> ...
>>    <FLOATNUMBER> ...
>>    <STRING> ...
>>    > field discarded
>> 2009-11-19 15:21:04,563 [main] INFO
>> org.apache.pig.backend.local.executionengine.LocalPigLauncher -
>> Successfully stored result in: "file:/tmp/temp1153167469/tmp608425705"
>> 2009-11-19 15:21:04,563 [main] INFO
>> org.apache.pig.backend.local.executionengine.LocalPigLauncher -
>> Records written : 1
>> 2009-11-19 15:21:04,563 [main] INFO
>> org.apache.pig.backend.local.executionengine.LocalPigLauncher - Bytes
>> written : 0
>> 2009-11-19 15:21:04,563 [main] INFO
>> org.apache.pig.backend.local.executionengine.LocalPigLauncher - 100%
>> complete!
>> 2009-11-19 15:21:04,563 [main] INFO
>> org.apache.pig.backend.local.executionengine.LocalPigLauncher -
>> Success!!
>> ()
>> grunt>
>>
>> / Kimmo
>>
>

Reply via email to