A whitelist / blacklist implementation for filtering Hive tables. It can be configured as
case-insensitive(
ignoreCase = true) or case-sensitive(
ignoreCase = false). By default, it's
case-insensitive.
Parses input whitelist and blacklist of the form
[dbpattern.tablepattern1|tablepattern2|...],... and filters accordingly. The db and table patterns accept "*"
characters. Each of whitelist and blacklist is a list of patterns. For a table to be accepted, it must fail the
blacklist filter and pass the whitelist filter. Empty whitelist or blacklist are noops.
Example whitelist and blacklist patterns:
db1.table1 -> only db1.table1 passes.
db1 -> any table under db1 passes.
db1.table* -> any table under db1 whose name satisfies the pattern table* passes.
db* -> all tables from all databases whose names satisfy the pattern db* pass.
db*.table* -> db and table must satisfy the patterns db* and table* respectively
db1.table1,db2.table2 -> combine expressions for different databases with comma.
db1.table1|table2 -> combine expressions for same database with "|".