5

HBase でデータを移動するために使用するいくつかの ETL プロセスの検証を自動化できるように、HBase で 2 つの異なるテーブルを比較しようとしています。HBase で 2 つのテーブルを比較する最良の方法は何ですか?

私のユースケースは以下のとおりです。

私がやろうとしているのは、期待される出力となるテーブルを 1 つ作成することです。このテーブルには、入力ファイルに対してチーム コードを実行することで作成されると予想されるすべてのデータが含まれます。次に、実際の出力テーブルと予想される出力テーブルの差分を取得して、テスト対象のコンポーネントの整合性を検証します。

4

3 に答える 3

3

すぐに使用できるものはわかりませんが、複数テーブルのマップ/リデュースを作成できます。

マッパーは各テーブルからキーを発行するだけです (値はすべての hbase キー値とテーブル名です)。レデューサーは、各キーの 2 つのレコードがあることを確認し、キー値を比較できます。キーが 1 つしかない場合、どのテーブルが同期していないかを確認できます

于 2013-09-19T16:40:20.963 に答える
2

この質問は少し古いことは知っていますが、テーブルの大きさはどれくらいですか? 両方ともメモリに収まる場合は、HBaseStorage を使用して Pig にロードし、Pig の組み込みDIFF関数を使用して結果のバッグを比較します。

ドキュメントによると、これはメモリに収まらない大きなテーブルでも機能しますが、非常に遅くなります。

于 2014-01-07T19:50:07.687 に答える