web-dev-qa-db-ja.com

Impala:クエリのようにテーブルを表示する

私はImpalaを使用しており、以下のようなパターンでデータベースからテーブルのリストをフェッチしています。

データベースbankがあり、このデータベースの下のテーブルは次のようになっていると仮定します。

cust_profile
cust_quarter1_transaction
cust_quarter2_transaction
product_cust_xyz
....
....
etc

今、私は次のようにフィルタリングしています

show tables in bank like '*cust*'

次のような期待される結果が返されます。テーブルの名前にはWordcustが含まれています。

今私の要件は名前にcustが含まれるすべてのテーブルが必要であり、テーブルにquarter2が含まれるべきではありません

誰かがこの問題を解決する方法を教えてもらえますか?.

4
Manindar

シェルから実行してからフィルタリング

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

メタストアにクエリを実行

 mysql -u root -p -e "select TBL_NAME from metastore.TBLS where TBL_NAME like '%cust%' and TBL_NAME not like '%quarter2%'";