No it is not possible. Even in RDBMS if you want to do select * from table where row=100, you need to do rs.getXXX(i) with suitable index to get the expected row right?
If you want specific rows you specify that in the select query - similar case here. When you say you don't want to iterate you mean that the Result object should just have all the values of all the columns appended to it and currently there is no such way possible. Regards Ram On Fri, Jan 22, 2016 at 11:11 AM, Rajeshkumar J <[email protected] > wrote: > If that is the case if I do maintain only one versions of my data is this > retrieval is possible? > > Thanks > > On Fri, Jan 22, 2016 at 11:01 AM, ramkrishna vasudevan < > [email protected]> wrote: > > > Currently that is not possible. The reason being that the columns are not > > fixed in HBase. > > There could be another row or may another version of this row 100 where > > there are only col2 and col4 populated and there is no col1 and col3. > > So as per your schema you should be knowing with which column the value > is > > associated. > > In other words > > > > Row-key col1 col2 col3 col4 > > > > 100 xxx yyy zzz aaa > > 100 xxx > yyy > > > > Now how do you know xxx is associated with col2 or col1 when you try to > > retrieve the latest version of row key 100? > > > > Regards > > Ram > > > > > > On Fri, Jan 22, 2016 at 10:55 AM, Rajeshkumar J < > > [email protected] > > > wrote: > > > > > Hi, > > > > > > For instance > > > > > > Row-key col1 col2 col3 col4 > > > > > > 100 xxx yyy zzz aaa > > > > > > I am scanning this row-key(100) and I want to get the value as > > > xxx,yyy,zzz,aaa from Result instance. Not using iterator to get xxxx > then > > > yyyy then zzzz then aaaa. > > > > > > Thanks > > > > > > On Fri, Jan 22, 2016 at 10:47 AM, ramkrishna vasudevan < > > > [email protected]> wrote: > > > > > > > Once you retrieve a result it will have all the columns that were > > > scanned. > > > > If suppose you had 5 columns and you specifically wanted only 2 > columns > > > out > > > > of it you can add the required columns using scan.addColumn() API > then > > > the > > > > result will have only those 2 columns. > > > > If nothing is specified your result will have entire set of columns > > that > > > > comprises that row (including multiple Column families). > > > > > > > > But every column's result is an individual KeyValue which you may > have > > to > > > > iterate and get it. > > > > >> So is there any option to get all the column > > > > values of row-key at once. > > > > So this is already happening for you. Am I missing something here? > > > > > > > > On Fri, Jan 22, 2016 at 10:31 AM, Rajeshkumar J < > > > > [email protected] > > > > > wrote: > > > > > > > > > Hi, > > > > > > > > > > I have already posted this in mailing list but with changes in my > > use > > > > > case. Is there any options to retrieve all the columns of row-key > at > > > > once. > > > > > > > > > > ResultScanner resultScanner = table.getScanner(scan); > > > > > Iterator<Result> iterator = resultScanner.iterator(); > > > > > while (iterator.hasNext()) { > > > > > Result next = iterator.next(); > > > > > for (KeyValue key : next.list()) { > > > > > > > > > > System.out.println(Bytes.toString(key.getValue())); > > > > > } > > > > > > > > > > > > > > > > > > > > This is how I am doing scan using java api. Using this I can get > > only > > > > one > > > > > columns in each iteration. So is there any option to get all the > > column > > > > > values of row-key at once. > > > > > > > > > > Thanks > > > > > > > > > > > > > > >
