2013-04-11 4 views
1

실제 프로젝트에서 HBase 사용을 평가하기 위해 프로토 타입 작업을하고 있습니다 (또는 프로토 타입 결과에 따라 다르다). 필자가 작업하고있는 스키마에서 동일한 열 패밀리에 여러 개의 열이 있으며 원자 적으로 (항상 같은 행 내에서) 여러 개를 업데이트해야합니다. 클라이언트 API의 checkAndPut 메소드로 몇 가지 테스트를 만들었지 만, 하나의 값 (따라서 put 매개 변수에서 설정되는 하나의 값)을 비교하는 것만을 지원하는 것으로 보입니다. 내가 이것을 정확히 이해하고 있는가? 그렇다면, 내가 필요한 것을하기위한 또 다른 접근법이 있습니까?여러 열을 사용하여 CheckAndPut 작업

+0

HBase의 버전은 –

+0

입니다. 최신 안정 버전 인 0.94.6.1 – Diego

답변

1

RowMutations을 사용하여 단일 행의 모든 ​​PUT 연산을 함께 설정하고 모든 변경 사항을 원자 단위로 얻을 수 있습니다.

+0

을 사용하고 있습니다. 같은 행의 다른 열을 원자 적으로 변경하는 문제는 해결되지만 어떻게 볼 수 있습니까? checkAndPut 메소드의 기능을 사용하십시오 (저장된 값이 checkAndPut 매개 변수와 일치하는 경우에만 put 조작 수행). RowMutations와 함 2 사용하십시오. 예제가있는 페이지로 나를 안내 할 수 있습니까? 미리 감사드립니다. – Diego

+1

이런 경우에는 HBase를 사용하지 않을 것입니다. 그러나 필요한 경우 행을 잠글 수 있고, 필요하다면 읽고, 업데이트 할 수 있습니다. 여기에서 잠금 및 그 문제에 대한 자세한 내용을 볼 수 있습니다. http://www.ngdata.com/hbase-row-locks/. 다시 한 번 예를 들어 시나리오를 다시 생각하려고합니다. HBase가 여러 버전을 지원하므로 어쨌든 나중에 업데이트 할 수 있습니다 (예 : 업데이트 후 실행되는 코 프로세서에서) –

+0

링크를 찾아 주셔서 감사합니다. 이 모든 정보로 문제를 해결할 수 있는지 확인하십시오. 그렇지 않다면 당신이 제안한대로 디자인을 바꾸는 것을 고려할 것입니다. – Diego

관련 문제