-Re: LIMIT operator doesn't work with variables
James Newhaven 2012-04-10, 21:42
Thanks for the responses. Until 0.10 is released what alternatives do
I have if limit can only take constants?
I suspect I could use TOP if that supports variables?
On 10 Apr 2012, at 10:20 PM, Dmitriy Ryaboy <[EMAIL PROTECTED]> wrote:
> Fixed in 0.10 actually
> But if you are using the scalar feature, you should cast explicitly.
> On Tue, Apr 10, 2012 at 2:11 PM, Stan Rosenberg
> <[EMAIL PROTECTED]> wrote:
>> I believe the syntax of LIMIT does not admit an arbitrary expression;
>> it only admits constants. At least this is what the documentation
>> On Tue, Apr 10, 2012 at 4:33 PM, James Newhaven
>> <[EMAIL PROTECTED]> wrote:
>>> I am trying to a limit the output size using LIMIT. I want to the limit
>>> size to be 5 percent of the total output size like this:
>>> -- Put all the inids in a bag so we can count them.
>>> G = GROUP F ALL;
>>> -- Count everything in the bag
>>> H = FOREACH G GENERATE COUNT_STAR(F) AS total;
>>> -- Limit out to 5 percent of the total.
>>> I = LIMIT F H.total * 0.05;
>>> However, when I define the last line with the LIMIT operator, I get the
>>> following error. Does anyone know a way around this?
>>> ERROR 1200: <line 362, column 12> mismatched input 'H' expecting set null
>>> Failed to parse: <line 362, column 12> mismatched input 'H' expecting set
>>> at org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:222)