リストからパターンに一致しない列を持つすべての行を削除する最も簡単で効率的な方法は何ですか?(Java APIを使用) ?
明確にするための擬似コード:
patterns = ["hbase", "rules"]
awesomeTable.delete {
row, family =>
! patterns.exists(pattern => family.column.matches(pattern))
}
Hbase では、コンテンツによって行を選択する直接的かつ効率的な方法はありません。Hbase は Map のようなもので、キー (範囲) によってのみ行をフェッチできます。
考えられる方法の 1 つはフィルターを使用することですが、非常に遅くなります。
値フィルターを見てください
http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/filter/ValueFilter.html