1

やあ、

この質問は、SingleColumnValueFilterが適切な行数を返さないのとよく似ています。

4つのSingleColumnValueFilterと演算子EQUALを使用し、演算子MUST_PASS_ONEを使用してそれらをFilterListに追加します。結果の数は、FilterListを設定しない場合と同じです。比較する値はbyte[]であり、前の結果の値を保存するだけなので正しいはずです。(これは、データを取得するときにInetAddress、new InetAddress(value as byte [])に変換するIPアドレスであり、説明されているクエリでは、byte[]を返すInetAddress.getAddressを呼び出すだけです)

何が問題になるのか、何か考えはありますか?フィルタを間違って使用していますか?

編集:

また、クエリによって取得された元の値をSingleColumnValueFilterの値として使用しましたが、結果に違いはなかったため、byte[]の内容に問題はありません。

4

1 に答える 1

0

以前にすべての hbase コードをデバッグしてチェックしなかったことをお詫びします。

比較アルゴリズムの実装を確認したところ(これは辞書編集的に)、長さが考慮されていないことに気付きましたが、ゼロで埋められると思っていました。残念ながらそうではありません。

唯一の妥当なオプションは、カスタム コンパレーターを作成することです (たとえば、How do you use a custom comparison with SingleColumnValueFilter on HBase? を参照してください) 。

于 2012-07-02T14:05:47.720 に答える