2013-02-07 41 views
0

當我使用SingleColumnValueFilter進行hbase掃描時,並且沒有添加其他參數,它會返回40000行。Hbase:只使用一個篩選器掃描vs使用篩選器和列掃描

實施例: table.scan(濾波器= 「SingleColumnValueFilter( '信息', '收集',=, '子:tweets_brazilFire')」)

實施例: table.scan(濾波器=」 SingleColumnValueFilter( '信息', '收集',=, '子:tweets_brazilFire')」, 列= [ '字段:body_s'])

當我的列添加到掃描,它導致1967178行。

我很困惑。該列存在於其他行中,但它沒有列值,因爲我指定。不應該掃描適用於只有通過過濾器的列和行的返回條件?

我正在使用python happybase進行此操作。

請讓我知道您的建議。

感謝

回答

0

從視API點一,阿帕奇節儉適用SingleColoumnValueFilter與其他語法

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

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

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

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

第一語法看起來適合你。 filterIfColumnMissing_boolean爲真,因此只有那些具有這種顏色的行纔會返回。版本取決於你。 希望這有助於。

感謝

+0

聽說這句法是舊的,不再適用 – kich

+0

http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/filter/SingleColumnValueFilter.html新文檔API節目我用它正確的方式 – kich

+0

我無法使用這個語法來使用happybase – eriophora