如何编写查询来查找HiveDB中具有特定列名的所有表

fykwrbwg  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(302)

我有一个包含大约100个表的数据库,我需要构建一个连接查询来从其中两个表中获取特定的数据。我知道一个,但不知道另一个。基本上我需要这样的东西:

select <tables> from <HIVE_database> where exists table.column name;

我该怎么做?

swvgeqrz

swvgeqrz1#

您可以编写一个shell脚本来搜索所有表中的列。
第一行给出了所有的表名。它被传递到read命令,并从每个表的descripe输出中搜索列名。

$hive -e 'show tables in <HIVE_database>'  | \
while read line
do
 echo "TABLE NAME : $line"
  eval "hive -e 'describe <HIVE_database>.$line'" | grep "<column_name>" 
done

相关问题