Support Questions

Find answers, ask questions, and share your expertise
Announcements
Celebrating as our community reaches 100,000 members! Thank you!

How to fetch single column from HBASE table

avatar
Rising Star

I have a table dept_tbl in HBase with 1 Column Family and 3 columns in it

cf1:dept_city, cf1:dept_name, cf1:dept_no

-------

I want to filter a column say dept_no and get the corresponding dept_name for it

Like: if dept_no=10, return dept_name=ACCOUNTING

-------

I applied filter as below:

scan 'dept_tbl',{FILTER => "MultipleColumnPrefixFilter('dept_name','dept_no') AND SingleColumnValueFilter('cf1','dept_no',=, 'binary:10')"}

-------

This returns me 2 columns: 'dept_name' and 'dept_no'

I need only 1 column 'dept_name' to be returned

-------

If I use MultipleColumnPrefixFilter('dept_name').. it gives me all rows as if it didnt check for filter of dept_no=10

I tried many combinations, I couldnt get it to return single column single row.

-------

Script to create the table:

create 'dept_tbl','cf1' put 'dept_tbl','R1','cf1:dept_no','10' put 'dept_tbl','R1','cf1:dept_name','ACCOUNTING' put 'dept_tbl','R1','cf1:dept_city','NEW YORK' put 'dept_tbl','R2','cf1:dept_no','20' put 'dept_tbl','R2','cf1:dept_name','RESEARCH' put 'dept_tbl','R2','cf1:dept_city','DALLAS' put 'dept_tbl','R3','cf1:dept_no','30' put 'dept_tbl','R3','cf1:dept_name','SALES' put 'dept_tbl','R3','cf1:dept_city','CHICAGO' put 'dept_tbl','R4','cf1:dept_no','40' put 'dept_tbl','R4','cf1:dept_name','OPERATIONS' put 'dept_tbl','R4','cf1:dept_city','BOSTON'

1 ACCEPTED SOLUTION

avatar
Explorer

@Anubhav Raikar

Use reverse order of the filters:

scan 'dept_tbl',{FILTER => "SingleColumnValueFilter('cf1','dept_no',=,'binary:10') AND MultipleColumnPrefixFilter('dept_name')"}

The order of the filter matters here.

View solution in original post

2 REPLIES 2

avatar
Explorer

@Anubhav Raikar

Use reverse order of the filters:

scan 'dept_tbl',{FILTER => "SingleColumnValueFilter('cf1','dept_no',=,'binary:10') AND MultipleColumnPrefixFilter('dept_name')"}

The order of the filter matters here.

avatar
Rising Star

whoaaa.. yes.. it works.. good to know the order matters.. thank you!