问题
I am working with Impala and fetching the list of tables from the database with some pattern like below.
Assume i have a Database bank
, and tables under this database are like below.
cust_profile
cust_quarter1_transaction
cust_quarter2_transaction
product_cust_xyz
....
....
etc
Now i am filtering like
show tables in bank like '*cust*'
It is returning the expected results like, which are the tables has a word cust
in its name.
Now my requirement is i want all the tables which will have cust
in its name and table should not have quarter2
.
Can someone please help me how to solve this issue.
回答1:
Execute from the shell and then filter
impala-shell -q "show tables in bank like '*cust*'" | grep -v 'quarter2'
回答2:
Query the metastore
mysql -u root -p -e "select TBL_NAME from metastore.TBLS where TBL_NAME like '%cust%' and TBL_NAME not like '%quarter2%'";
来源:https://stackoverflow.com/questions/42999498/impala-show-tables-like-query