142.5. Spring Boot Auto-Configuration

구성 요소는 아래 나열된 4 가지 옵션을 지원합니다.

이름설명기본값유형

camel.component.hbase.configuration

공유 구성을 사용하려면 다음을 수행합니다. 옵션은 org.apache.hadoop.conf.Configuration 유형입니다.

 

문자열

camel.component.hbase.enabled

hbase 구성 요소 활성화

true

부울

camel.component.hbase.pool-max-size

HTable 풀의 각 테이블에 대해 유지할 최대 참조 수입니다. 기본값은 10입니다.

10

정수

camel.component.hbase.resolve-property-placeholders

구성 요소가 시작 시 자체적으로 속성 자리 표시자를 확인해야 하는지 여부입니다. String 유형의 속성만 속성 자리 표시자를 사용할 수 있습니다.Only properties which are of String type can use property placeholders.

true

부울

142.5.1. 작업 배치.

HBase는 열 기반 저장소로서 데이터를 특정 행의 특정 열에 저장할 수 있습니다.HBase is a column based store, which allows you to store data into a specific column of a specific row. 열은 제품군으로 그룹화되므로 열 패밀리와 해당 열의 한정자를 지정해야 하는 열을 지정합니다. 데이터를 특정 열에 저장하려면 행과 열을 모두 지정해야 합니다.

camel 경로에서 데이터를 HBase에 저장하는 가장 간단한 시나리오는 특정 HBase 열에 메시지 본문의 일부를 저장하는 것입니다.

        <route>
            <from uri="direct:in"/>
            <!-- Set the HBase Row -->
            <setHeader headerName="CamelHBaseRowId">
                <el>${in.body.id}</el>
            </setHeader>
            <!-- Set the HBase Value -->
            <setHeader headerName="CamelHBaseValue">
                <el>${in.body.value}</el>
            </setHeader>
            <to uri="hbase:mytable?operation=CamelHBasePut&amp;family=myfamily&amp;qualifier=myqualifier"/>
        </route>

위의 경로는 메시지 본문에 id 및 value 속성이 있는 개체가 포함되어 있으며 HBase 열 myfamily:myqualifier에 id로 지정된 행의 내용을 저장한다고 가정합니다. 두 개 이상의 열/값 쌍을 지정해야 하는 경우 추가 열 매핑을 지정할 수 있습니다. 두 번째 헤더의 eg RowId2, RowId3, RowId4 등의 숫자를 사용해야 합니다. 첫 번째 헤더에만 숫자 1이 없습니다.

        <route>
            <from uri="direct:in"/>
            <!-- Set the HBase Row 1st column -->
            <setHeader headerName="CamelHBaseRowId">
                <el>${in.body.id}</el>
            </setHeader>
            <!-- Set the HBase Row 2nd column -->
            <setHeader headerName="CamelHBaseRowId2">
                <el>${in.body.id}</el>
            </setHeader>
            <!-- Set the HBase Value for 1st column -->
            <setHeader headerName="CamelHBaseValue">
                <el>${in.body.value}</el>
            </setHeader>
            <!-- Set the HBase Value for 2nd column -->
            <setHeader headerName="CamelHBaseValue2">
                <el>${in.body.othervalue}</el>
            </setHeader>
            <to uri="hbase:mytable?operation=CamelHBasePut&amp;family=myfamily&amp;qualifier=myqualifier&amp;family2=myfamily&amp;qualifier2=myqualifier2"/>
        </route>

uri 옵션, 메시지 헤더 또는 두 가지 조합을 사용할 수 있다는 것을 기억하는 것이 중요합니다. URI 및 동적 값의 일부로 상수를 헤더로 지정하는 것이 좋습니다. URI로 정의되고 uri의 일부로 헤더가 정의된 경우 헤더가 사용됩니다.