2014-07-11 3 views
0

제 경우에는 동적 열 (CQL3 CF)을 동적 열 (런타임시 열을 늘리거나 줄일 수 있음)로 변환해야합니다. 나는 DSE 4.5에서 일하고있다.피드 용 카산드라의 동적 열 패밀리

해당 열 패밀리에서 피드 (데이터 삽입이 실시간으로 이루어짐)를 작성해야합니다. 예 : CF는 사용자 ID를 기준으로 사용자의 피드를 저장합니다 & 타임 스탬프 및 user1은 10 개의 열을 가질 수 있으며 user2는 20 열 (모든 사용자 열은 다를 수 있음). CQL3 CF에서 현재

,

CREATE TABLE USER_FEED (
userid int, 
timestamp int, 
col1 string, 
col2 int, 
col3 string, 
.... 
PRIMARY KEY (userid,timestamp) 

나는 데이터 모델을 설계해야합니다. Dynamic CF를 만들어야한다고 생각합니다. 하지만 내 질문에 행 키를 만들기 위해 행을 결합 할 수 있습니까? 그렇다면 결합 된 행키를 사용하여 데이터를 읽는 방법은 무엇입니까? 그리고 동적 CF에 데이터와 같은 피드를 저장할 수 있습니까? 사용할 수있는 예제 또는 유스 케이스가 있습니까?

답변

1

주어진 행의 특정 열을 채우지 않거나 기존 행의 하나 이상의 열을 삭제하지 않을 수도 있지만 모든 행의 모든 ​​열은 표를 만들 때 선언해야합니다.

스펙트럼의 다른 끝에서 모든 사용자 변수 데이터를 blob로 선언 할 수는 있지만 쿼리의 특정 열을 참조 할 수는 없습니다.

또는 ... 맵인 "user_data"열을 정의한 다음 해당 맵 열의 요소를 채우거나 삭제할 수 있습니다. 그러나 쿼리가 더 복잡하고 모든 사용자 데이터 조각이 모두 문자열과 같은 유형을 가져야합니다.

또는 blob 경로로 이동하여 필드 입력 변환기와 함께 DSE/Solr을 사용하여 blob 필드를 추출하고 Solr 동적 열을 채워 쉽게 쿼리 할 수 ​​있습니다.

실제로지도 열 접근법은 DSE/Solr가 각지도 요소에 대해 Solr 동적 필드를 암시 적으로 생성하도록하므로지도 또는 BLOB를 필드 입력 변환기와 함께 사용하는 것의 차이점은 환경 설정과 스타일 및 편의성의 문제 일 수 있습니다.

어떻게 데이터를 쿼리 하시겠습니까?

+0

Jack, 나는 어떤 키 (데이터를 solr을 통해 2 차 인덱스를 생성)로 검색해야하며 하이브 또는 상어를 통해 분석 (조인, 계산 ...)을 수행해야 할 수도 있습니다. – user3632180

+0

Jack이 나를 안내해 주실 수 있습니다. 필드 입력 변압기와 함께 DSE/Solr을 사용하여 BLOB 필드를 추출하고 Solr 동적 열을 채우는 방법은 쉽게 쿼리 할 수 ​​있습니까? – user3632180

관련 문제