2017-02-14 4 views
0

DB에 정보를 저장하기 위해 PIG 및 HBASE를 사용하고 있습니다. DUMP 명령에서 가져온 데이터 세트를 가지고 있으며 다음 단계에서 HBASE에 저장하려고합니다.Hbase 및 PIG가 모든 행을 저장하지 않습니다

DUMP somedata; 

은 아래와 같이 중복 행을 갖는 데이터 청크를 생성합니다.

(rowkey, cf:1, cf:2 ....) 
(12345::456::idea, 4567, deleted, 2.3, next, super) 
(12345::456::idea, 4567, deleted, 2.3, next, super) 
(12345::456::idea, 4567, deleted, 2.3, next, super) 
(12345::456::idea, 4567, deleted, 2.3, next, super) 
(12345::456::idea, 4568, deleted, 2.3, next, super) 
(12345::456::idea, 4568, deleted, 2.3, next, super) 
(12345::456::idea, 4568, deleted, 2.3, next, super) 
(12345::456::idea, 4569, deleted, 2.3, next, super) 
(12345::456::idea, 4569, deleted, 2.3, next, super) 
(12345::456::idea, 4569, deleted, 2.3, next, super) 

HBaseStorage로 somedata를 저장하기 위해 STORE 명령을 사용하면 모든 중복 행이 제거되고 별개의 행이 저장됩니다. 나는 예상 된 행동이 아닌지 확신 할 수 없다. 위 밖으로

만이

(12345::456::idea, 4567, deleted, 2.3, next, super) 
(12345::456::idea, 4568, deleted, 2.3, next, super) 
(12345::456::idea, 4569, deleted, 2.3, next, super) 

를 저장 그리고 그것은 미스에게 약간의 행을 수행 어떤 시간도 저장합니다.

어느 누구도 이것을 명확히 할 수 있습니까?

+0

plz 코드 및 hbase 테이블 정의를 추가 할 수 있습니까? – 54l3d

답변

0

HBase가 어떻게 설계 되었습니까? 패밀리마다 열 이름을 추가합니다. HBASE에 대해 KEY를 설정 한 다음 4 개의 레코드가 동일한 키와 함께 있으면 궁극적으로 하나의 레코드 만 저장합니다.

: 예를 들어 : ID가 KEY로 설정되어있는 경우 좀 더 데이터를 삽입하는 경우

ID, 이름, 나이

1,SAM,20 
2,RAJ,25 
1,ANN, 27 

, 다음 HBase를 단지

1 ANN 27, 
2,RAJ,25 

다음을해야합니다

id,hometown 
1,Bangalore 
5 Jaipur 

HABSE는 다음을 갖습니다.

당신이 모든 기록을 저장할 IFF
1 ANN 27,Bangalore 
2,RAJ,25 
5 Jaipur 

, 당신은 복합 키의 개념을 사용해야합니다.