There is no way that I'm aware of to pass a dynamic scalar from a
relationship into the constructor of a LoadFunc.

Can you explain your use case in more detail? Why do you need to query
HBase for a range of keys, just to do the same thing again? In your example
result is a relationship, so what are trying to achieve by querying HBase
where the key is greater than a relationship of tuples?

I would expect what you're attempting could be done with a self-join
followed by a filter, but I'm still a bit hazy on what you're going for.


On Thu, Feb 16, 2012 at 11:01 PM, chethan <[email protected]> wrote:

> Hi Bill,
>
> So is there any way where we can achieve this, giving
> the variable result's value for comparison in runtime. Because that is the
> requirement to be achieved.
>
> On Thu, Feb 16, 2012 at 10:35 PM, Bill Graham <[email protected]>wrote:
>
>>  The -lt -gt syntax is correct for result - it takes scalar values that
>> define the range of the keys you want.
>>
>> user_links is using -gt incorrectly. It doesn't take a Pig relationship as
>> a parameter so it's looking for keys that are lexicographically greater
>> than the string 'result'.
>>
>> On Thu, Feb 16, 2012 at 2:37 AM, chethan <[email protected]> wrote:
>>
>> > Hi,
>> >
>> > I want to fetch the records from the HBase tables using pig language.
>> >
>> > Details of HBase table:
>> >
>> > HBASE TABLE NAME : sample_names
>> > COLUMN FAMILY NAME : cf
>> > COLUMN NAME : fname
>> > ROWKEY VALUES : 1,2,3,4
>> >
>> > I am using following commands :
>> >
>> > result = load 'hbase://sample_names' using
>> > org.apache.pig.backend.hadoop.hbase.HBaseStorage('cf:fname','-loadKey
>> true
>> > -gt 1 -lt 3') as (id:chararray);
>> > user_links = load 'hbase://sample_names' using
>> > org.apache.pig.backend.hadoop.hbase.HBaseStorage('cf:fname','-loadKey
>> true
>> > -gt result') as (name:chararray);
>> >
>> > dump result ( is giving value '2' )
>> > dump user_links ( returning nothing )
>> >
>> > Problem:
>> >
>> > Though I am having value '2' in the result,
>> > I am getting nothing in the return, it is not taking result's value '2'
>> for
>> > comparison at all.
>> >
>> > Is my approach wrong, i want the value of the result to go for
>> comparison.
>> >
>> > Thanks & Regards
>> > Chethan Prakash
>> >
>>
>>
>>
>> --
>> *Note that I'm no longer using my Yahoo! email address. Please email me at
>> [email protected] going forward.*
>>
>
>


-- 
*Note that I'm no longer using my Yahoo! email address. Please email me at
[email protected] going forward.*

Reply via email to