143.8. HBase 매핑


기본 매핑 전략은 헤더본문 매핑이라는 점을 언급했습니다.
아래에서 각 매핑 전략이 작동하는 방법에 대한 자세한 예를 찾을 수 있습니다.

143.8.1. HBase 헤더 매핑 예

헤더 매핑은 기본 매핑입니다. "myvalue" 값을 HBase 행 "myrow" 및 열 "myfamily:mycolum"에 배치하려면 메시지에 다음 헤더가 포함되어야 합니다.

헤더현재의

CamelHBaseRowId

Myrow

CamelHBaseFamily

myfamily

CamelHBaseQualifier

myqualifier

CamelHBaseValue

myvalue

다른 열 및/또는 다른 행에 더 많은 값을 배치하려면 헤더 인덱스로 접미사로 추가 헤더를 지정할 수 있습니다. 예를 들면 다음과 같습니다.

헤더현재의

CamelHBaseRowId

Myrow

CamelHBaseFamily

myfamily

CamelHBaseQualifier

myqualifier

CamelHBaseValue

myvalue

CamelHBaseRowId2

myrow2

CamelHBaseFamily2

myfamily

CamelHBaseQualifier2

myqualifier

CamelHBaseValue2

myvalue2

get 또는 scan과 같은 검색 작업의 경우 각 열에 대해 데이터를 변환할 유형을 지정할 수도 있습니다. Exampe의 경우:

헤더현재의

CamelHBaseFamily

myfamily

CamelHBaseQualifier

myqualifier

CamelHBaseValueType

long

모든 메시지에 대해 일정으로 간주되는 상용구 헤더를 방지하기 위해 아래 표시된 것처럼 끝점 uri의 일부로 지정할 수도 있습니다.

143.8.2. 본문 매핑 예

본문 매핑 전략을 사용하려면 uri의 일부로 option mappingStrategy를 지정해야 합니다. 예를 들면 다음과 같습니다.

hbase:mytable?mappingStrategyName=body

본문 매핑 전략을 사용하려면 본문에 org.apache.camel.component.hbase.model.HBaseData 인스턴스를 포함해야 합니다. T를 구성할 수 있습니다

HBaseData data = new HBaseData();
HBaseRow row = new HBaseRow();
row.setId("myRowId");
HBaseCell cell = new HBaseCell();
cell.setFamily("myfamily");
cell.setQualifier("myqualifier");
cell.setValue("myValue");
row.getCells().add(cell);
data.addRows().add(row);

위의 오브젝트는 예를 들어 put 작업에서 사용할 수 있으며 ID myRowId로 행을 생성하거나 업데이트하고 myfamily:myqualifier 열에 myvalue 값을 추가합니다.
본문 매핑 전략이 처음에는 바람직하지 않은 것처럼 보일 수 있습니다. 헤더 매핑 전략에 비해 장점은 HBaseData 개체를 xml/json으로 쉽게 변환할 수 있다는 것입니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.