Support Questions

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

Querying Hbase REST with special characters in rowkey

avatar
New Contributor

Hi guys, 

 

I need your assistance on querying hbase rest with special characters in the rowkey.

 

Hi, I have the following rowkey and data in Hbase:

 

 

ROW                      COLUMN+CELL                                                                                                                                                                                                                                                       
 \xF2member-00002         column=cf:age, timestamp=2022-07-12T10:16:11.986, value=20   

 

 

 

I am querying using the REST interface (version 0.0.3) as:

 

 

GET 'http://localhost:8080/member/%F2member-00002'

 

 

but always getting Not found. 

 

What should be the correct url encoded rowkey?

 

Thanks!

1 ACCEPTED SOLUTION

avatar
Super Collaborator
hide-solution

This problem has been solved!

Want to get a detailed solution you have to login/registered on the community

Register/Login
4 REPLIES 4

avatar
Super Collaborator

Hello,

 

The encoded value for \x would be %5Cx. So can you try using it in the url. Is it connecting via Knox?

 

Also, do upload the curl command output.

avatar
New Contributor

Hi @rki_ , 

 

Thanks for the reply. I have also used standard url encoding but still getting no results. By the way, what is interesting is when I have the following data:

 

ROW                      COLUMN+CELL                                                                                                                                                                                                                                                       
 \xF2member-00002         column=cf:age, timestamp=2022-07-12T10:16:11.986, value=20 
 \x00member-00003         column=cf:age, timestamp=2022-07-12T10:16:11.986, value=20

 I can query \x00member-00003 via curl by replacing \x with %

curl -v -X GET 'http://localhost:8080/member/%00member-00003' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json'

and get results.

{
    "Row": [
        {
            "key": "AG1lbWJlci0wMDAwMw==",
            "Cell": [
                {
                    "column": "TTpwI2FnZQ==",
                    "timestamp": 1657730533731,
                    "$": "MjA="
                }
            ]
        }
    ]
}

 

 

but not this. 

 

curl -v -X GET 'http://localhost:8080/member/%F2member-00002' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json'

It returns Not Found.

 

Also, I am using an hbase standalone docker image (mckdev/hbase:2.4.12).  

 

avatar
Super Collaborator
hide-solution

This problem has been solved!

Want to get a detailed solution you have to login/registered on the community

Register/Login

avatar
New Contributor

hi @rki_ , 

 

This must be it.. thanks a lot for the info!