介绍
在 Databricks Unity 目录中创建了一个名为 Information Schema 的存储系统信息的表。通过使用它,可以获得Unity Catalog的表信息、权限信息等目录信息。
关于信息架构
https://docs.databricks.com/spark/latest/spark-sql/language-manual/sql-ref-information-schema.html使用 Unity Catalog 时,会在 information_schema 模式下创建具有以下结构的表。
如果您选中此项,您可以获得所需的信息。使用信息模式检查信息
让我们通过查看上面的信息模式快速检查我们可以做什么。
在此之前,如果您使用 Unity Catalog,将自动显示 4 个目录。 (hive_metastore,主要,样本,系统)
Metastore 中存储的所有目录的信息都收集在名为 system 的目录中,因此如果要查看整个内容,则应查看此系统目录中的 Information Schema。另请注意,hive_metastore 目录中的信息不是 Unity 目录,因此不包含在此信息模式中。这是为了访问传统的 Hive 目录。
1. 收集所有目录、模式(数据库)和表列表
SELECT table_catalog, table_schema, table_name, table_owner, comment, table_type, data_source_format FROM system.information_schema.tables WHERE table_schema != 'information_schema'
2.检查表权限
SELECT * FROM system.information_schema.table_privileges WHERE table_schema != 'information_schema'在 Databricks SQL 中,您还可以创建如下所示的过滤器,因此您可以轻松地缩小到特定目录和模式。
3. 最近一小时内创建的表信息
SELECT table_name, table_owner, created_by, last_altered, last_altered_by, table_catalog FROM system.information_schema.tables WHERE datediff(now(), last_altered) < 1;
4.按降序列出列数最多的表
SELECT table_schema, table_name, count(column_name) FROM system.information_schema.columns WHERE table_schema != 'information_schema' GROUP BY table_schema, table_name ORDER BY 3 DESC
在最后
由于Information_schema中还有更多的表信息,看来可以做各种分析。
另外,如果您创建仪表板以便您可以立即检查这些,并且如果您找到具有特定条件的表格,您可以发出警报等。这似乎对操作很有用。
另请参阅此处的 UnityCatalog 设置。
https://qiita.com/maroon-db/items/57cee03cef202c839b94
原创声明:本文系作者授权爱码网发表,未经许可,不得转载;
原文地址:https://www.likecs.com/show-308632113.html