1

是否有一个 sql 查询可用于查找给定名称的 Databricks 实例中的所有表?就像是

select * from information_schema.tables where lower(table_name) like 'org%';

如果在 sql 中没有办法做到这一点,有没有另一种方法可以做到这一点?

看起来 Databricks 没有像其他数据库管理系统那样的“information_schema”或其他元数据表,是否有计划在未来的版本中添加类似的东西(像“show tables()”这样的东西真的不适合如此多的用例,包括这里讨论的一个)。

4

2 回答 2

2

您可以为此使用SHOW TABLES ... LIKE命令。请注意,与“常规 LIKE”相比,%您需要使用 来代替使用*,并且默认情况下匹配不区分大小写,因此您不需要这样做lower。要记住的另一件事 - 您需要明确指定数据库名称,或者仅对当前数据库进行查找:

SHOW TABLES LIKE 'org*'; -- current database
SHOW TABLES IN another_db LIKE 'org*'; -- another database
于 2021-11-14T12:57:09.973 回答
1
SHOW TABLES [FROM | IN] db_name [LIKE 'pattern']

https://docs.databricks.com/spark/latest/spark-sql/language-manual/sql-ref-syntax-aux-show-tables.html

于 2021-12-25T04:50:09.510 回答