0

SingleColumnValueFilter を使用して hbase スキャンを実行し、他のパラメーターを追加しないと、40000 行が返されます。

例: table.scan(filter="SingleColumnValueFilter('info','collection',=,'substring:tweets_brazilFire')")

例: table.scan(filter="SingleColumnValueFilter('info','collection',=,'substring:tweets_brazilFire')", columns=['field:body_s'])

列をスキャンに追加すると、1967178 行になります。

私はここで混乱しています。列は他の行に存在しますが、指定した列の値がありませんでした。スキャンは、フィルターを通過した列と行のみを返すという両方の条件を適用すべきではありませんか?

これにはpython happybaseを使用しています。

あなたの提案を教えてください。

ありがとう

4

1 に答える 1

0

まず API の観点から、Apache Thrift は SingleColoumnValueFilter を別の構文で適用します。

Syntax: SingleColumnValueFilter(<compare operator>, ‘&lt;comparator>’, ‘&lt;family>’, ‘&lt;qualifier>’,<filterIfColumnMissing_boolean>, <latest_version_boolean>)

Syntax: SingleColumnValueFilter(<compare operator>, ‘&lt;comparator>’, ‘&lt;family>’, ‘&lt;qualifier>)

Example: "SingleColumnValueFilter (<=, ‘abc’,‘FamilyA’, ‘Column1’, true, false)"

Example: "SingleColumnValueFilter (<=, ‘abc’,‘FamilyA’, ‘Column1’)"

最初の構文はあなたに適しているようです。filterIfColumnMissing_booleanそのような列が存在する行のみが返されるように、真として。バージョンはあなた次第です。これが役立つことを願っています。

ありがとう

于 2013-02-08T09:23:20.060 に答える