如何编写查询来查找数据库中具有特定列名的所有表?Hive

cclgggtu  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(278)

我有一个大约有400个表的数据库,我需要找到所有按列名搜索的表。基本上我需要这样的东西:

select <tables> from <database> where table.columnName='tv';

我该怎么做?

fxnxkyjh

fxnxkyjh1#

下面的shell脚本将为您提供所需的结果:

output=""|
hive -e 'show tables in <database_name>'  |
while read line
do
 echo "TABLE NAME : $line"
  if eval "hive -e 'describe <database_name>.$line'" | grep -q "tv"; then
     output+="Required table name: $line"'\n'
   else
     output+=""
  fi
echo -e "$output"
done

相关问题