温馨提示:本文翻译自stackoverflow.com,查看原文请点击:apache spark - How to show all tables in all databases in Databricks
apache-spark databricks

apache spark - 如何在Databricks中显示所有数据库中的所有表

发布于 2021-01-04 03:45:41

以下内容可用于分别显示当前模式或指定模式中的表:

show tables;

show tables in my_schema;

此处记录如下:https : //docs.databricks.com/spark/latest/spark-sql/language-manual/show-tables.html

有没有办法显示所有数据库中的所有表?

Databricks / Spark中是否有元数据表(类似于Oracle中的all_或dba_表或MySql中的information_schema)?有没有办法对Databricks中的数据库对象进行更具体的查询?像这样:

select * from i_dont_know_what where lower(table_name) like '%gold%' and schema = 'myschema';

查看更多

提问者
John
被浏览
0
Som 2020-08-31 10:59

您不能在数据块上使用Spark目录API吗?请尝试这个-

val tuples: Map[String, String] = spark.catalog.listDatabases().collect().flatMap(db =>
      spark.catalog.listTables(db.name).collect().map(x => (db.name, x.name))
    ).toMap