Impala: Show tables like query

29,747

Solution 1

Execute from the shell and then filter

impala-shell -q "show tables in bank like '*cust*'" | grep -v 'quarter2'

Solution 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%'";
Share:
29,747
Manindar
Author by

Manindar

Updated on March 25, 2020

Comments

  • Manindar
    Manindar about 4 years

    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.