雅典娜相当于information_schema

Athena equivalent to information_schema

对于背景,我来自 SQLServer 背景并大量使用系统 tables 和 information_schema,告诉我关于我的 tables 和专栏的所有信息。

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

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

这些 "show/list/describe" 命令的所有结果似乎都生成一个文本列表 - 而不是记录集,因此您不能获取结果并将它们加入其他 table 或视图以使其更复杂输出。

有没有其他方法可以查询我的数据库的内容?

提前致谢

Athena 基于 Presto。 Presto 提供 information_schema 架构,我检查过它可以在 Athena 中访问。

您可以 运行 例如查询如:

SELECT * FROM information_schema.columns;

获取所有表的列列表。

您可以通过 "database" 过滤:

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

但是请注意,这些类型的查询不一定非常高效。