0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Databricksのインフォメーションスキーマ

Last updated at Posted at 2022-11-15

Information schema | Databricks on AWS [2022/11/1時点]の翻訳です。

本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。

適用対象

  • Databricks SQL
  • Databricksランタイム10.2以降

INFORMATION_SCHEMAは、HIVE_METASTOREカタログ以外の全てのカタログに存在するSQL標準ベースのシステム提供のスキーマです。

インフォメーションスキーマでは、あなたが参照権限を持つオブジェクトを説明する一連のビューを参照することができます。SYSTEMカタログのインフォメーションスキーマは、メタストア内のすべてのカタログのオブジェクトに関する情報を返却します。

インフォメーションスキーマの目的は、メタデータに対してSQLベースの自己記述型のAPIを提供することです。

Information schemaのエンティティ関連図

以下のエンティティリレーションシップ(ER)図は、インフォメーションスキーマ内のリレーションの概要と、それぞれの関係性を示しています。

Information schemaのビュー

名前 説明
CATALOG_PRIVILEGES カタログに対する権限を持つプリンシパルを一覧します。
CATALOGS カタログを説明します。
COLUMNS カタログに含まれるテーブルやビューのカラムを説明します。
CONSTRAINT_COLUMN_USAGE カタログのカラムを参照する制約を説明します。
CONSTRAINT_TABLE_USAGE カタログのカラムを参照する制約を説明します。
CHECK_CONSTRAINTS 将来の利用に予約されています。
INFORMATION_SCHEMA_CATALOG_NAME このインフォメーションスキーマのカタログ名を返却します。
PARAMETERS カタログのルーチン(関数)のパラメーターを説明します。
REFERENTIAL_CONSTRAINTS カタログで定義されている参照制約(外部キー)を説明します。
ROUTINE_COLUMNS 関数の結果テーブルのカラムを説明します。
ROUTINE_PRIVILEGES カタログのルーチンに対する権限を持つプリンシパルを一覧します。
TABLE_PRIVILEGES カタログのテーブルとビューに対する権限を持つプリンシパルを一覧します。
TABLES カタログで定義されているテーブルやビューを説明します。
SCHEMA_PRIVILEGES カタログのスキーマに対する権限を持つプリンシパルを一覧します。
SCHEMATA カタログのスキーマを説明します。
VIEWS カタログのビューに関するビュー固有の情報を説明します。

注意

SQL分で参照する際、識別子は大文字小文字を区別しませんが、STRINGとしてインフォメーションスキーマに格納されます。これは、ilikeの様な関数を用いるか、識別子が格納されている大文字小文字を指定して検索を行わなくてはならないことを意味します。

サンプル

システムレベルのインフォメーションスキーマテーブルを使用するサンプルのワークフローを以下に示します。

過去24時間以内に作成されたすべてのテーブルを参照する場合には、以下の様なクエリーを実行します。

SQL
> 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;

それぞれのスキーマにいくつのテーブルが含まれているのかを知りたいのであれば、以下の様なクエリーを実行します。

SQL
> SELECT table_schema, count(table_name)
    FROM system.information_schema.tables
    WHERE table_schema = 'tpch'
    GROUP BY table_schema
    ORDER BY 2 DESC

関連資料

Databricks 無料トライアル

Databricks 無料トライアル

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?