我有一个包含大约100个表的数据库,我需要构建一个连接查询来从其中两个表中获取特定的数据。我知道一个,但不知道另一个。基本上我需要这样的东西:
select <tables> from <HIVE_database> where exists table.column name;
我该怎么做?
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
1条答案
按热度按时间swvgeqrz1#
您可以编写一个shell脚本来搜索所有表中的列。
第一行给出了所有的表名。它被传递到read命令,并从每个表的descripe输出中搜索列名。