[HADOOP] 행 키가 반전 된 URL 인 경우 HBase REST API (Stargate)를 찾는 방법
HADOOP행 키가 반전 된 URL 인 경우 HBase REST API (Stargate)를 찾는 방법
nutch2.2.1 + hbase0.90.4를 사용하고 있으며 HBase REST API Stargate를 통해 데이터에 액세스하려고합니다. url (예 : www.usatoday.com)을 사용하여 nutch를 시드하면 반전 된 url은 지정된 테이블 ( '웹 페이지')에서 HBase 행 키가됩니다. 다음과 같이 hbase 셸을 통해 데이터를 조회 할 수 있습니다.
hbase(main):001:0> get 'webpage', 'com.usatoday.www:http/'
COLUMN CELL
f:fi timestamp=1404762373394,value=\x00'\x8D\x00
f:ts timestamp=1404762373394, value=\x00\x00\x01G\x12\\xB5\xB3
mk:_injmrk_ timestamp=1404762373394, value=y
mk:dist timestamp=1404762373394, value=0
mtdt:_csh_ timestamp=1404762373394, value=?\x80\x00\x00
s:s timestamp=1404762373394, value=?\x80\x00\x00
그러나 REST API를 사용하는 데 문제가 있습니다. 아마도 'http'전에 콜론을 억제하기 위해 꽤 간단한 URL 인코딩을 수행해야합니까?
예를 들어, 시도 할 때 HTTP 404를 얻습니다.
curl http://localhost:8900/webpage/com.usatoday.www:http/
또한 내가 시도 할 때
curl http://localhost:8900/webpage/com.usatoday.www%3Ahttp/
'test'라는 테이블에 'row3'이라는 행을 만들 수 있으므로 REST API가 제대로 작동한다는 것을 알고 있습니다.
curl http://localhost:8900/test/row3
다음과 같은 예상 결과를 확인하십시오.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><CellSet><Row key="cm93Mw=="><Cell timestamp="1404761922130" column="Y2Y6Yw==">dGhpcyBpcyBzb3J0YSB3b3JraW5nIG5vdw==</Cell></Row></CellSet>
도와 주셔서 감사합니다!
해결법
-
==============================
1.슬래시도 URL 인코딩해야합니다. 다음과 같이 작동합니다.
슬래시도 URL 인코딩해야합니다. 다음과 같이 작동합니다.
curl http://localhost:8900/webpage/com.usatoday.www%3Ahttp%2F
from https://stackoverflow.com/questions/24734045/how-to-lookup-hbase-rest-api-stargate-if-the-row-keys-are-reversed-urls by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] HDFS FileSystem에서 hadoop jar를 실행하는 방법은 무엇입니까? (0) | 2019.08.12 |
---|---|
[HADOOP] Apache에서 데이터 프레임을 캐시하는 방법 (0) | 2019.08.12 |
[HADOOP] META-INF / services에서 항목을 덮어 쓰지 않는 뚱뚱한 항아리를 만드는 방법 (0) | 2019.08.12 |
[HADOOP] FileInputFormat을 사용하여 맵 메소드에서 행 번호 가져 오기 (0) | 2019.08.12 |
[HADOOP] 하둡에서 CompressionCodec를 사용하는 방법 (0) | 2019.08.12 |