142.5.4. 작업 검사.


검사 작업은 HBase의 쿼리와 동일합니다. 검사 작업을 사용하여 여러 행을 검색할 수 있습니다. 결과의 일부여야 하는 열을 지정하고 uri 옵션 또는 헤더 중 하나를 사용할 수 있는 개체로 값을 변환하는 방법도 지정합니다.

        <route>
            <from uri="direct:in"/>
            <to uri="hbase:mytable?operation=CamelHBaseScan&amp;family=myfamily&amp;qualifier=myqualifier&amp;valueType=java.lang.Long&amp;rowType=java.lang.String"/>
            <to uri="log:out"/>
        </route>

이 경우 결과를 제한하기 위해 필터 목록도 지정해야 합니다. URI의 일부로 필터 목록을 지정할 수 있으며 camel은 모든 필터를 충족하는 행만 반환합니다.
메시지의 일부인 정보를 인식할 필터를 사용하려면 camel은 ModelAwareFilter를 정의합니다. 이렇게 하면 필터가 메시지 및 매핑 전략에 의해 정의된 모델을 고려할 수 있습니다.
ModelAwareFilter camel-hbase를 사용하면 선택한 매핑 전략을 메시지에서 적용하면 매핑을 모델링하고 해당 개체를 Filter에 전달하는 개체를 만듭니다.

예를 들어 메시지 헤더로 을 사용하여 스캔을 수행하려면 다음과 같이 ModelAwareColumnMatchingFilter를 사용할 수 있습니다.

        <route>
            <from uri="direct:scan"/>
            <!-- Set the Criteria -->
            <setHeader headerName="CamelHBaseFamily">
                <constant>name</constant>
            </setHeader>
            <setHeader headerName="CamelHBaseQualifier">
                <constant>first</constant>
            </setHeader>
            <setHeader headerName="CamelHBaseValue">
                <el>in.body.firstName</el>
            </setHeader>
            <setHeader headerName="CamelHBaseFamily2">
                <constant>name</constant>
            </setHeader>
            <setHeader headerName="CamelHBaseQualifier2">
                <constant>last</constant>
            </setHeader>
            <setHeader headerName="CamelHBaseValue2">
                <el>in.body.lastName</el>
            </setHeader>
            <!-- Set additional fields that you want to be return by skipping value -->
            <setHeader headerName="CamelHBaseFamily3">
                <constant>address</constant>
            </setHeader>
            <setHeader headerName="CamelHBaseQualifier3">
                <constant>country</constant>
            </setHeader>
            <to uri="hbase:mytable?operation=CamelHBaseScan&amp;filters=#myFilterList"/>
        </route>

        <bean id="myFilters" class="java.util.ArrayList">
            <constructor-arg>
                <list>
                    <bean class="org.apache.camel.component.hbase.filters.ModelAwareColumnMatchingFilter"/>
                </list>
            </constructor-arg>
        </bean>

위의 경로는 pojo 속성이 firstName 및 lastName이 메시지 본문으로 전달된다고 가정하고, 이러한 속성을 가져와서 메시지 헤더의 일부로 추가합니다. 기본 매핑 전략은 헤더를 HBase 열에 매핑할 모델 오브젝트를 만들고 ModelAwareColumnMatchingFilter를 모델로 전달합니다. 필터는 모델과 일치하는 열이 포함되지 않은 모든 행을 필터링합니다. 예를 들어 쿼리와 같습니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.