Tried it like this:
Scan linkScan = new Scan (Bytes.toBytes(e + "|"), Bytes.toBytes(e + "|A"));
linkScan.addColumn(Bytes.toBytes("type"), Bytes.toBytes("ELECTRONICS"));
ResultScanner scanner = tblEntity.getScanner(linkScan);
for (Result linkRowResult : scanner ) {
String row = Bytes.toString(linkRowResult.getRow());
}
Same exception. I would like to mentioned there is an outter loop around
the block of code above changing variable 'e' to something else. Also, I
checked the type:ELECTRONICS column, and it isn't that sparse. As you can
imagine an electronics department has a lot of items in it (in relation to
other departments), but a given item (row. e.g. Samsung blah) is sparse.
Meaning given all the filters it may be sparse dataset. If it's becuase its
sparse, why would it work when i dont use addColumn, but use addFamily
instead?
Ryan Rawson wrote:
>
> Can you try with the constructor:
> Scan scanSpec = new Scan(startRow, stopRow);
>
> thanks,
> -ryan
>
> On Fri, Jun 26, 2009 at 2:18 PM, llpind<[email protected]> wrote:
>>
>> It works find in shell when I do:
>>
>> scan 'tblStore', {COLUMNS =>'type:ELECTRONICS', STARTROW => 'TYPE1|TV|',
>> STOPROW => 'TYPE1|TV|A'}
>>
>> Am I doing something wrong in the API call?
>>
>>
>>
>> llpind wrote:
>>>
>>> Yeah I do have a type:ELECTRONIC column. I have a lot of data in the
>>> tall
>>> table, so it may be sparse. I'm giving it filters like start/stop row
>>> key and column family/qualifier. This should still work IMO. What
>>> other
>>> could be causing this?
>>>
>>>
>>> Ryan Rawson wrote:
>>>>
>>>> are you sure you have that column in your data? If you are searching
>>>> for a column that doesnt exist or is very very very sparse, the
>>>> scanner will spend a lot of time searching only to find nothing, thus
>>>> ending up with these kinds of exceptions....
>>>>
>>>> On Fri, Jun 26, 2009 at 12:35 PM, llpind<[email protected]> wrote:
>>>>>
>>>>> This exception does not happen if I remove the addColumn, and leave
>>>>> only
>>>>> addFamily (linkScan.addFamily(Bytes.toBytes("type")) .
>>>>>
>>>>> also, forgot I also have start and stop rows set:
>>>>>
>>>>>
>>>>>
>>>>> Scan linkScan = new Scan();.
>>>>> linkScan.addColumn(Bytes.toBytes("type"),
>>>>> Bytes.toBytes("ELECTRONICS"));
>>>>> linkScan.setStartRow (Bytes.toBytes(e + "|"));
>>>>> linkScan.setStopRow (Bytes.toBytes(e + " "));
>>>>> ResultScanner scanner = tblEntity.getScanner(linkScan);
>>>>> for (Result linkRowResult : scanner ) {
>>>>> String row = Bytes.toString(linkRowResult.getRow());
>>>>> }
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> llpind wrote:
>>>>>>
>>>>>> Hey,
>>>>>>
>>>>>> I'm doing the following to get a scanner on a tall table:
>>>>>>
>>>>>> Scan linkScan = new Scan();.
>>>>>> linkScan.addColumn(Bytes.toBytes("type"),
>>>>>> Bytes.toBytes("ELECTRONICS"));
>>>>>> ResultScanner scanner = tblEntity.getScanner(linkScan);
>>>>>> for (Result linkRowResult : scanner ) {
>>>>>> String row = Bytes.toString(linkRowResult.getRow());
>>>>>> }
>>>>>>
>>>>>>
>>>>>> ================================================================
>>>>>> at org.apache.hadoop.util.RunJar.main(RunJar.java:156)
>>>>>> Caused by: org.apache.hadoop.hbase.UnknownScannerException:
>>>>>> org.apache.hadoop.hbase.UnknownScannerException: -2823498412219891315
>>>>>> at
>>>>>> org.apache.hadoop.hbase.regionserver.HRegionServer.close(HRegionServer.java:1894)
>>>>>> at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown
>>>>>> Source)
>>>>>> at
>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>>>>> at java.lang.reflect.Method.invoke(Method.java:597)
>>>>>> at
>>>>>> org.apache.hadoop.hbase.ipc.HBaseRPC$Server.call(HBaseRPC.java:643)
>>>>>> at
>>>>>> org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:913)
>>>>>>
>>>>>> at
>>>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
>>>>>> Method)
>>>>>> at
>>>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>>>>>> at
>>>>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>>>>>> at
>>>>>> java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>>>>>> at
>>>>>> org.apache.hadoop.hbase.RemoteExceptionHandler.decodeRemoteException(RemoteExceptionHandler.java:94)
>>>>>> at
>>>>>> org.apache.hadoop.hbase.client.HConnectionManager$TableServers.getRegionServerWithRetries(HConnectionManager.java:928)
>>>>>> at
>>>>>> org.apache.hadoop.hbase.client.HTable$ClientScanner.nextScanner(HTable.java:1764)
>>>>>> at
>>>>>> org.apache.hadoop.hbase.client.HTable$ClientScanner.next(HTable.java:1859)
>>>>>> at
>>>>>> org.apache.hadoop.hbase.client.HTable$ClientScanner$1.hasNext(HTable.java:1915)
>>>>>> ... 8 more
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> View this message in context:
>>>>> http://www.nabble.com/Scanner-exceptions-in-.20-tp24225950p24226108.html
>>>>> Sent from the HBase User mailing list archive at Nabble.com.
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/Scanner-exceptions-in-.20-tp24225950p24227420.html
>> Sent from the HBase User mailing list archive at Nabble.com.
>>
>>
>
>
--
View this message in context:
http://www.nabble.com/Scanner-exceptions-in-.20-tp24225950p24227741.html
Sent from the HBase User mailing list archive at Nabble.com.