|
|
-
TableRecordReaderImpl is not able to get the rows
Subroto 2012-06-13, 11:17
Hi,
I have a table with details: hbase(main):024:0> scan 'test' ROW COLUMN+CELL row1 column=cf:a, timestamp=1339581548508, value=value1 row2 column=cf:b, timestamp=1339581557585, value=value2 row3 column=cf:c, timestamp=1339581566227, value=value3 3 row(s) in 0.0200 seconds
When my MR job tries to access TableRecordReader org.apache.hadoop.hbase.client.HTable.ClientScanner.nextScanner set the "value" to null for every call which gives a sense to my MR application that there are no records in the table.
I am using: 0.92.1 HBase and 0.23.1 Hadoop…..
What can be the possible reason(s) behind it??
Cheers, Subroto Sanyal
+
Subroto 2012-06-13, 11:17
-
Re: TableRecordReaderImpl is not able to get the rows
Sonal Goyal 2012-06-13, 11:30
Hi Subroto, How are you configuring your job? Are you providing any Scan options? Check Chapter 7 of the ref guide at http://hbase.apache.org/book/mapreduce.example.htmlBest Regards, Sonal Crux: Reporting for HBase < https://github.com/sonalgoyal/crux>Nube Technologies < http://www.nubetech.co>< http://in.linkedin.com/in/sonalgoyal>On Wed, Jun 13, 2012 at 4:47 PM, Subroto <[EMAIL PROTECTED]> wrote: > Hi, > > I have a table with details: > hbase(main):024:0> scan 'test' > ROW > COLUMN+CELL > row1 > column=cf:a, timestamp=1339581548508, value=value1 > row2 > column=cf:b, timestamp=1339581557585, value=value2 > row3 > column=cf:c, timestamp=1339581566227, value=value3 > 3 row(s) in 0.0200 seconds > > When my MR job tries to access TableRecordReader > org.apache.hadoop.hbase.client.HTable.ClientScanner.nextScanner set the > "value" to null for every call which gives a sense to my MR application > that there are no records in the table. > > I am using: 0.92.1 HBase and 0.23.1 Hadoop….. > > What can be the possible reason(s) behind it?? > > Cheers, > Subroto Sanyal
+
Sonal Goyal 2012-06-13, 11:30
-
Re: TableRecordReaderImpl is not able to get the rows
Subroto 2012-06-13, 13:58
Hi Sonal, The Scan is being created by: void org.apache.hadoop.hbase.mapreduce.TableInputFormat.setConf(Configuration configuration) I am not providing any other scan options…. :-( Cheers, Subroto Sanyal On Jun 13, 2012, at 1:30 PM, Sonal Goyal wrote: > Hi Subroto, > > How are you configuring your job? Are you providing any Scan options? Check > Chapter 7 of the ref guide at > > http://hbase.apache.org/book/mapreduce.example.html> > Best Regards, > Sonal > Crux: Reporting for HBase < https://github.com/sonalgoyal/crux>> Nube Technologies < http://www.nubetech.co>> > < http://in.linkedin.com/in/sonalgoyal>> > > > > > On Wed, Jun 13, 2012 at 4:47 PM, Subroto <[EMAIL PROTECTED]> wrote: > >> Hi, >> >> I have a table with details: >> hbase(main):024:0> scan 'test' >> ROW >> COLUMN+CELL >> row1 >> column=cf:a, timestamp=1339581548508, value=value1 >> row2 >> column=cf:b, timestamp=1339581557585, value=value2 >> row3 >> column=cf:c, timestamp=1339581566227, value=value3 >> 3 row(s) in 0.0200 seconds >> >> When my MR job tries to access TableRecordReader >> org.apache.hadoop.hbase.client.HTable.ClientScanner.nextScanner set the >> "value" to null for every call which gives a sense to my MR application >> that there are no records in the table. >> >> I am using: 0.92.1 HBase and 0.23.1 Hadoop….. >> >> What can be the possible reason(s) behind it?? >> >> Cheers, >> Subroto Sanyal
+
Subroto 2012-06-13, 13:58
-
Re: TableRecordReaderImpl is not able to get the rows
Sonal Goyal 2012-06-14, 07:07
Are you doing something specific with the RecordReader? Maybe you can post more of your code as it is difficult to tell anything right now. Best Regards, Sonal Crux: Reporting for HBase < https://github.com/sonalgoyal/crux>Nube Technologies < http://www.nubetech.co>< http://in.linkedin.com/in/sonalgoyal>On Wed, Jun 13, 2012 at 7:28 PM, Subroto <[EMAIL PROTECTED]> wrote: > Hi Sonal, > > The Scan is being created by: > void > org.apache.hadoop.hbase.mapreduce.TableInputFormat.setConf(Configuration > configuration) > I am not providing any other scan options…. :-( > > Cheers, > Subroto Sanyal > > On Jun 13, 2012, at 1:30 PM, Sonal Goyal wrote: > > > Hi Subroto, > > > > How are you configuring your job? Are you providing any Scan options? > Check > > Chapter 7 of the ref guide at > > > > http://hbase.apache.org/book/mapreduce.example.html> > > > Best Regards, > > Sonal > > Crux: Reporting for HBase < https://github.com/sonalgoyal/crux>> > Nube Technologies < http://www.nubetech.co>> > > > < http://in.linkedin.com/in/sonalgoyal>> > > > > > > > > > > > On Wed, Jun 13, 2012 at 4:47 PM, Subroto <[EMAIL PROTECTED]> wrote: > > > >> Hi, > >> > >> I have a table with details: > >> hbase(main):024:0> scan 'test' > >> ROW > >> COLUMN+CELL > >> row1 > >> column=cf:a, timestamp=1339581548508, value=value1 > >> row2 > >> column=cf:b, timestamp=1339581557585, value=value2 > >> row3 > >> column=cf:c, timestamp=1339581566227, value=value3 > >> 3 row(s) in 0.0200 seconds > >> > >> When my MR job tries to access TableRecordReader > >> org.apache.hadoop.hbase.client.HTable.ClientScanner.nextScanner set the > >> "value" to null for every call which gives a sense to my MR application > >> that there are no records in the table. > >> > >> I am using: 0.92.1 HBase and 0.23.1 Hadoop….. > >> > >> What can be the possible reason(s) behind it?? > >> > >> Cheers, > >> Subroto Sanyal > >
+
Sonal Goyal 2012-06-14, 07:07
-
Re: TableRecordReaderImpl is not able to get the rows
Subroto 2012-06-14, 08:05
Hi Sonal, Thanks for your suggestion… I checked my code and found out that I was doing something like this: for (String column : columns) { scan.addColumn(Bytes.toBytes(column), Bytes.toBytes("")) } The same scan object was being set in the configuration. After removing this piece of code, the MR Job worked fine. One more doubt: Scan.addColumn takes two argument: public Scan addColumn(byte[] family, byte[] qualifier) The first one is the column name in bytes. What should be passed as second argument if I want the qualifier to be ignored(I mean to include any qualifier)??? My HBase table looks like this: ROW COLUMN+CELL row1 column=cf:a, timestamp=1339581548508, value=value1 row2 column=cf:b, timestamp=1339581557585, value=value2 row3 column=cf:c, timestamp=1339581566227, value=value3 Thanks again for the correct pointers…. :-) Cheers, Subroto Sanyal On Jun 14, 2012, at 9:07 AM, Sonal Goyal wrote: > Are you doing something specific with the RecordReader? Maybe you can post > more of your code as it is difficult to tell anything right now. > > Best Regards, > Sonal > Crux: Reporting for HBase < https://github.com/sonalgoyal/crux>> Nube Technologies < http://www.nubetech.co>> > < http://in.linkedin.com/in/sonalgoyal>> > > > > > On Wed, Jun 13, 2012 at 7:28 PM, Subroto <[EMAIL PROTECTED]> wrote: > >> Hi Sonal, >> >> The Scan is being created by: >> void >> org.apache.hadoop.hbase.mapreduce.TableInputFormat.setConf(Configuration >> configuration) >> I am not providing any other scan options…. :-( >> >> Cheers, >> Subroto Sanyal >> >> On Jun 13, 2012, at 1:30 PM, Sonal Goyal wrote: >> >>> Hi Subroto, >>> >>> How are you configuring your job? Are you providing any Scan options? >> Check >>> Chapter 7 of the ref guide at >>> >>> http://hbase.apache.org/book/mapreduce.example.html>>> >>> Best Regards, >>> Sonal >>> Crux: Reporting for HBase < https://github.com/sonalgoyal/crux>>>> Nube Technologies < http://www.nubetech.co>>>> >>> < http://in.linkedin.com/in/sonalgoyal>>>> >>> >>> >>> >>> >>> On Wed, Jun 13, 2012 at 4:47 PM, Subroto <[EMAIL PROTECTED]> wrote: >>> >>>> Hi, >>>> >>>> I have a table with details: >>>> hbase(main):024:0> scan 'test' >>>> ROW >>>> COLUMN+CELL >>>> row1 >>>> column=cf:a, timestamp=1339581548508, value=value1 >>>> row2 >>>> column=cf:b, timestamp=1339581557585, value=value2 >>>> row3 >>>> column=cf:c, timestamp=1339581566227, value=value3 >>>> 3 row(s) in 0.0200 seconds >>>> >>>> When my MR job tries to access TableRecordReader >>>> org.apache.hadoop.hbase.client.HTable.ClientScanner.nextScanner set the >>>> "value" to null for every call which gives a sense to my MR application >>>> that there are no records in the table. >>>> >>>> I am using: 0.92.1 HBase and 0.23.1 Hadoop….. >>>> >>>> What can be the possible reason(s) behind it?? >>>> >>>> Cheers, >>>> Subroto Sanyal >> >>
+
Subroto 2012-06-14, 08:05
-
RE: TableRecordReaderImpl is not able to get the rows
Anoop Sam John 2012-06-14, 08:15
Hi Subroto Scan.addColumn you can use when u want only specific columns to be retrieved in the sacn . U can read the javadoc in addColumn() and addFamily() methods and then it will be clear. scan.addColumn(Bytes.toBytes(column), Bytes.toBytes("")) As you do this empty qualifier name is getting added in the family list which needs to be retrieved. So if you want to retrieve whole data avoid addColumn and addFamily. If want want specific CFs to be retrieved go with addFamily Within a CF u want specific qualifier only then only go for addColumn -Anoop- ________________________________________ From: Subroto [[EMAIL PROTECTED]] Sent: Thursday, June 14, 2012 1:35 PM To: [EMAIL PROTECTED] Subject: Re: TableRecordReaderImpl is not able to get the rows Hi Sonal, Thanks for your suggestion… I checked my code and found out that I was doing something like this: for (String column : columns) { scan.addColumn(Bytes.toBytes(column), Bytes.toBytes("")) } The same scan object was being set in the configuration. After removing this piece of code, the MR Job worked fine. One more doubt: Scan.addColumn takes two argument: public Scan addColumn(byte[] family, byte[] qualifier) The first one is the column name in bytes. What should be passed as second argument if I want the qualifier to be ignored(I mean to include any qualifier)??? My HBase table looks like this: ROW COLUMN+CELL row1 column=cf:a, timestamp=1339581548508, value=value1 row2 column=cf:b, timestamp=1339581557585, value=value2 row3 column=cf:c, timestamp=1339581566227, value=value3 Thanks again for the correct pointers…. :-) Cheers, Subroto Sanyal On Jun 14, 2012, at 9:07 AM, Sonal Goyal wrote: > Are you doing something specific with the RecordReader? Maybe you can post > more of your code as it is difficult to tell anything right now. > > Best Regards, > Sonal > Crux: Reporting for HBase < https://github.com/sonalgoyal/crux>> Nube Technologies < http://www.nubetech.co>> > < http://in.linkedin.com/in/sonalgoyal>> > > > > > On Wed, Jun 13, 2012 at 7:28 PM, Subroto <[EMAIL PROTECTED]> wrote: > >> Hi Sonal, >> >> The Scan is being created by: >> void >> org.apache.hadoop.hbase.mapreduce.TableInputFormat.setConf(Configuration >> configuration) >> I am not providing any other scan options…. :-( >> >> Cheers, >> Subroto Sanyal >> >> On Jun 13, 2012, at 1:30 PM, Sonal Goyal wrote: >> >>> Hi Subroto, >>> >>> How are you configuring your job? Are you providing any Scan options? >> Check >>> Chapter 7 of the ref guide at >>> >>> http://hbase.apache.org/book/mapreduce.example.html>>> >>> Best Regards, >>> Sonal >>> Crux: Reporting for HBase < https://github.com/sonalgoyal/crux>>>> Nube Technologies < http://www.nubetech.co>>>> >>> < http://in.linkedin.com/in/sonalgoyal>>>> >>> >>> >>> >>> >>> On Wed, Jun 13, 2012 at 4:47 PM, Subroto <[EMAIL PROTECTED]> wrote: >>> >>>> Hi, >>>> >>>> I have a table with details: >>>> hbase(main):024:0> scan 'test' >>>> ROW >>>> COLUMN+CELL >>>> row1 >>>> column=cf:a, timestamp=1339581548508, value=value1 >>>> row2 >>>> column=cf:b, timestamp=1339581557585, value=value2 >>>> row3 >>>> column=cf:c, timestamp=1339581566227, value=value3 >>>> 3 row(s) in 0.0200 seconds >>>> >>>> When my MR job tries to access TableRecordReader >>>> org.apache.hadoop.hbase.client.HTable.ClientScanner.nextScanner set the >>>> "value" to null for every call which gives a sense to my MR application >>>> that there are no records in the table. >>>> >>>> I am using: 0.92.1 HBase and 0.23.1 Hadoop….. >>>> >>>> What can be the possible reason(s) behind it?? >>>> >>>> Cheers, >>>> Subroto Sanyal >> >>
+
Anoop Sam John 2012-06-14, 08:15
-
Re: TableRecordReaderImpl is not able to get the rows
Subroto 2012-06-14, 15:35
Hi Anoop, Thanks a lot for the explanation. Need to go through the documentation properly…. ;-) Cheers, Subroto Sanyal On Jun 14, 2012, at 10:15 AM, Anoop Sam John wrote: > Hi Subroto > Scan.addColumn you can use when u want only specific columns to be retrieved in the sacn . U can read the javadoc in addColumn() and addFamily() methods and then it will be clear. > scan.addColumn(Bytes.toBytes(column), Bytes.toBytes("")) > As you do this empty qualifier name is getting added in the family list which needs to be retrieved. > > So if you want to retrieve whole data avoid addColumn and addFamily. > If want want specific CFs to be retrieved go with addFamily > Within a CF u want specific qualifier only then only go for addColumn > > -Anoop- > ________________________________________ > From: Subroto [[EMAIL PROTECTED]] > Sent: Thursday, June 14, 2012 1:35 PM > To: [EMAIL PROTECTED] > Subject: Re: TableRecordReaderImpl is not able to get the rows > > Hi Sonal, > > Thanks for your suggestion… I checked my code and found out that I was doing something like this: > for (String column : columns) { > scan.addColumn(Bytes.toBytes(column), Bytes.toBytes("")) > } > > The same scan object was being set in the configuration. After removing this piece of code, the MR Job worked fine. > > One more doubt: > Scan.addColumn takes two argument: > public Scan addColumn(byte[] family, > byte[] qualifier) > The first one is the column name in bytes. What should be passed as second argument if I want the qualifier to be ignored(I mean to include any qualifier)??? > My HBase table looks like this: > ROW COLUMN+CELL > row1 column=cf:a, timestamp=1339581548508, value=value1 > row2 column=cf:b, timestamp=1339581557585, value=value2 > row3 column=cf:c, timestamp=1339581566227, value=value3 > > Thanks again for the correct pointers…. :-) > > Cheers, > Subroto Sanyal > On Jun 14, 2012, at 9:07 AM, Sonal Goyal wrote: > >> Are you doing something specific with the RecordReader? Maybe you can post >> more of your code as it is difficult to tell anything right now. >> >> Best Regards, >> Sonal >> Crux: Reporting for HBase < https://github.com/sonalgoyal/crux>>> Nube Technologies < http://www.nubetech.co>>> >> < http://in.linkedin.com/in/sonalgoyal>>> >> >> >> >> >> On Wed, Jun 13, 2012 at 7:28 PM, Subroto <[EMAIL PROTECTED]> wrote: >> >>> Hi Sonal, >>> >>> The Scan is being created by: >>> void >>> org.apache.hadoop.hbase.mapreduce.TableInputFormat.setConf(Configuration >>> configuration) >>> I am not providing any other scan options…. :-( >>> >>> Cheers, >>> Subroto Sanyal >>> >>> On Jun 13, 2012, at 1:30 PM, Sonal Goyal wrote: >>> >>>> Hi Subroto, >>>> >>>> How are you configuring your job? Are you providing any Scan options? >>> Check >>>> Chapter 7 of the ref guide at >>>> >>>> http://hbase.apache.org/book/mapreduce.example.html>>>> >>>> Best Regards, >>>> Sonal >>>> Crux: Reporting for HBase < https://github.com/sonalgoyal/crux>>>>> Nube Technologies < http://www.nubetech.co>>>>> >>>> < http://in.linkedin.com/in/sonalgoyal>>>>> >>>> >>>> >>>> >>>> >>>> On Wed, Jun 13, 2012 at 4:47 PM, Subroto <[EMAIL PROTECTED]> wrote: >>>> >>>>> Hi, >>>>> >>>>> I have a table with details: >>>>> hbase(main):024:0> scan 'test' >>>>> ROW >>>>> COLUMN+CELL >>>>> row1 >>>>> column=cf:a, timestamp=1339581548508, value=value1 >>>>> row2 >>>>> column=cf:b, timestamp=1339581557585, value=value2 >>>>> row3 >>>>> column=cf:c, timestamp=1339581566227, value=value3 >>>>> 3 row(s) in 0.0200 seconds >>>>> >>>>> When my MR job tries to access TableRecordReader >>>>> org.apache.hadoop.hbase.client.HTable.ClientScanner.nextScanner set the >>>>> "value" to null for every call which gives a sense to my MR application
+
Subroto 2012-06-14, 15:35
|
|