当我使用SingleColumnValueFilter进行hbase扫描时,没有添加其他参数,它会返回40000行。
实施例: table.scan(滤波器= “SingleColumnValueFilter( '信息', '收集',=, '子:tweets_brazilFire')”)
实施例: table.scan(滤波器= “SingleColumnValueFilter( '信息', '收集',=, '子:tweets_brazilFire')”, 列= [ '字段:body_s'])
当我将列添加到扫描时,会产生1967178行。
我在这里很困惑。该列存在于其他行中,但它没有我指定的列值。扫描是否应该同时应用返回列的条件和仅通过过滤器的行?
我正在使用python happybase。
请告诉我你的建议。
由于
答案 0 :(得分:0)
首先从API的角度来看,Apache Thrift将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
为true,因此只有那些具有此类coloumn的行才会返回。版本由你决定。
希望这会有所帮助。
感谢