Sql Impala-查找哪些表具有特定列
在Impala中,是否有方法检查数据库中的哪些表包含特定的列名 比如:Sql Impala-查找哪些表具有特定列,sql,hadoop,cloudera,impala,Sql,Hadoop,Cloudera,Impala,在Impala中,是否有方法检查数据库中的哪些表包含特定的列名 比如: select tablename, columnname from dbc.columns where databasename = 'mydatabasename' and columnname like '%findthis%' order by tablename 上面的查询在teradata环境中工作,但在Impala中抛出一个错误 谢谢,黑斑羚与Hive共享metastore。与传统的RDBMS不同,Hive元数
select tablename, columnname
from dbc.columns
where databasename = 'mydatabasename'
and columnname like '%findthis%'
order by tablename
上面的查询在teradata环境中工作,但在Impala中抛出一个错误
谢谢,黑斑羚与Hive共享metastore。与传统的RDBMS不同,Hive元数据存储在单独的数据库中。在大多数情况下,它是在MySQL或Postgres中。如果您有权访问metastore数据库,则可以在表TBL上运行SELECT以获取有关表和列的详细信息\u V2以获取有关列的详细信息
如果您没有访问metastore的权限,唯一的选择是描述每个表以获取列名。如果有很多数据库和表,可以编写一个shell脚本,使用“show tables”获取表列表,并使用“desc tablename”循环表来描述它们.在Impala中没有
dbc.columns
这样的东西。我可以访问hive,但在TBL和columns中出现错误_v2@acvbasql-您无法在蜂巢/黑斑羚中看到这些表格。您需要找到metastore数据库并在那里运行查询。metastore数据库详细信息可在hive-site.conf中找到。它通常是一个RDBMS。