当前位置:  开发笔记 > 后端 > 正文

Impala-查找哪些表具有特定列

如何解决《Impala-查找哪些表具有特定列》经验,为你挑选了1个好方法。

在Impala中,是否可以检查数据库中的哪些表包含特定的列名?

就像是:

select tablename, columnname
from dbc.columns
where databasename = 'mydatabasename'
and columnname like '%findthis%'
order by tablename

上面的查询在Teradata环境中工作,但是在Impala中引发错误。

谢谢,



1> Ramesh..:

Impala与Hive共享Metastore。与传统的RDBMS不同,Hive元数据存储在单独的数据库中。在大多数情况下,它在MySQL或Postgres中。如果有权访问metastore数据库,则可以在表TBLS上运行SELECT以获取有关表的详细信息,并在COLUMNS_V2上获取有关列的详细信息。

如果您无权访问元存储,则唯一的选择是描述每个表以获取列名。如果您有许多数据库和表,则可以编写一个shell脚本以使用“显示表​​”获取表列表,并使用“ desc表名”在表周围循环以描述它们。

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有