雅典娜相当于information_schema

时间:2019-07-01 22:35:11

标签: amazon-athena

对于背景知识,我来自SQLServer背景知识,并大量使用了系统表和information_schema,向我全面介绍了我的表和列。

我没想到雅典娜会拥有完全相同的力量,但目前对似乎没有什么可用的东西感到非常震惊和沮丧-除非我错过了什么?

例如,“描述mytable”-一次只描述1个表。 如何在一个结果中显示所有表的列? 它还不会输出表名,也不允许您将其手动添加为自定义列。

这些“显示/列出/描述”命令的所有结果似乎都产生一个文本列表-而不是记录集,因此您无法获取结果并将它们连接到其他表或视图以产生更复杂的输出。

还有其他查询数据库内容的方法吗?

预先感谢

1 个答案:

答案 0 :(得分:1)

雅典娜基于Presto。 Presto提供了information_schema模式,我已经检查过了,可以在Athena中访问它。

您可以例如运行这样的查询:

SELECT * FROM information_schema.columns;

获取所有表的列的列表。

您可以通过“数据库”对此进行过滤:

SELECT * FROM information_schema.columns WHERE table_schema = '<databasename>';

但是请注意,这些类型的查询不一定性能很好。