2017-02-14 13 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) 

使用STOREコマンドがHBaseStorageとso​​meDataがを格納する格納異なる行。期待された行動かどうかはわかりません。上記のうち

だけでは

(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

あなたのコードとhbaseテーブル定義をplzで追加できますか? – 54l3d

答えて

0

これはHBaseの設計方法です。これは単にファミリ:列名ごとにデータを追加します。 HBASE用にKEYを設定し、4つのレコードに同じキーが付いている場合は、最終的に1つのレコードのみが保存されます。

:例:については :IDをキーとして設定されている場合は、いくつかのより多くのデータを挿入した場合

ID、NAME、AGE

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

、その後、HBaseのは唯一

1 ANN 27, 
2,RAJ,25 

次を持っています

id,hometown 
1,Bangalore 
5 Jaipur 

HABSEは:

1 ANN 27,Bangalore 
2,RAJ,25 
5 Jaipur 

あなたはすべてのレコードを保存したいIFF、あなたは 複合キーの概念を使用する必要があります。

関連する問題