メインコンテンツまでスキップ

データベース・オブジェクトの探索

この記事では、Databricks でカタログ、スキーマ、テーブル、その他のデータベース オブジェクトを検出して探索する方法について詳しく説明します。 この記事の手順では、少なくとも BROWSE または SELECT の特権を持つデータベース オブジェクトの詳細を返すことに焦点を当てています。

Unity Catalog の特権に関する一般的な情報については、「 Unity Catalog の特権とセキュリティ保護可能なオブジェクト」を参照してください。 スキーマの所有権と権限を設定する方法については、「Unity Catalogオブジェクトの所有権の管理」および「Unity Catalogでの権限の管理」を参照してください。

データベースオブジェクトへのほとんどのアクセスは Unity Catalogによって管理されますが、会社によっては別のデータガバナンスアプローチを使用したり、 Unity Catalog 他のレガシーテーブル ACL と組み合わせたりする場合があります。 この記事では、Unity Catalog によって管理されるオブジェクトの動作について説明しますが、この記事で説明するほとんどの方法は、Unity Catalog によって管理されていないデータベース オブジェクトでも機能します。

この記事には、カタログ エクスプローラーと SQL の手順が含まれています。ワークスペースのサイドバーにある カタログアイコン カタログ アイコンを選択して、カタログ エクスプローラーにアクセスします。SQLコマンドは、ノートブックまたはコンピュートに付属しているクエリエディタから実行できます。Catalog Explorer でデータベース・オブジェクトを表示するには、少なくともオブジェクトに対する BROWSE 権限が必要です。SQL でデータベース・オブジェクトを表示するには、少なくともオブジェクトに対する SELECT 権限、親カタログに対する USE CATALOG 権限、および親スキーマに対する USE SCHEMA 権限が必要です。Unity Catalog で管理されるデータベース オブジェクトは、アクティブなコンピュートなしで Catalog Explorer で移動できます。 Unity Catalogによって管理されていないhive_metastoreおよびその他のカタログ内のデータを探索するには、適切な権限でコンピュートにアタッチする必要があります。

データベースオブジェクトのフィルタリング

Catalog Explorerを使用してデータベースオブジェクトを対話形式で探索しているときに、用意されているテキストボックスを使用して結果をフィルタリングできます。 オブジェクト名に一致する文字列は強調表示されますが、現在表示されているデータベース オブジェクト間でのみ強調表示されます。 すべてのデータベース・オブジェクトの完全な検索については、 ワークスペース・オブジェクトの検索を参照してください。

SQL は、次のような SHOW ステートメントと組み合わせて regex_pattern 句をオプションで指定することにより、同様の機能を提供します。

SQL
SHOW TABLES IN schema_name LIKE 'sales_*_fy23'

カタログを調べてください

カタログは、各 Unity Catalog メタストアのデータガバナンスの最上位レベルを表します。

次のコマンドを実行して、使用可能なカタログの一覧を表示します。

SQL
SHOW CATALOGS

SHOW CATALOGSを参照してください。

カタログを選択

次のコマンドを実行して、現在アクティブなカタログを設定します。

SQL
USE CATALOG catalog_name

USE CATALOGを参照してください。

カタログの詳細を参照してください

次のコマンドを実行して、カタログを記述します。

SQL
DESCRIBE CATALOG catalog_name

DESCRIBE CATALOGを参照してください。

スキーマの探索

スキーマは、Unity Catalog のテーブル、ビュー、ボリューム、関数、モデルのコレクションです。 スキーマはカタログに含まれています。

次のコマンドを実行して、使用可能なスキーマの一覧を表示します。

SQL
SHOW SCHEMAS IN catalog_name

SHOW SCHEMASを参照してください。

スキーマを選択してください

次のコマンドを実行して、現在アクティブなスキーマを設定します。

SQL
USE schema catalog_name.schema_name

USE SCHEMAを参照してください。

スキーマの詳細を参照してください

次のコマンドを実行して、スキーマを記述します。

SQL
DESCRIBE SCHEMA schema_name

DESCRIBE SCHEMAを参照してください。

テーブルとビューの探索

テーブルとビューはスキーマに含まれています。 Unity Catalog のほとんどのテーブルは Delta Lake によってサポートされていますが、外部データに対して登録されたテーブルにアクセスできる場合もあります。 「Databricks でクエリできるデータ」を参照してください。

Unity Catalog のビューは、常に別のテーブルのデータを参照します。

次のコマンドを実行して、使用可能なテーブルの一覧を表示します。

SQL
SHOW TABLES IN catalog_name.schema_name

次のコマンドを実行して、使用可能なテーブルの一覧を表示します。

SQL
SHOW VIEWS IN catalog_name.schema_name

SHOW TABLESSHOW VIEWSを参照してください。

表の内容と詳細を表示する

ほとんどのテーブルの詳細は、カタログエクスプローラーまたは SQL で表示できます。 一部の詳細は、カタログエクスプローラーUI でのみ使用できます。

カタログエクスプローラーでテーブルを選択して、テーブルの詳細を表示します。

テーブル列を探索する

注記

オブジェクトに対する BROWSE 権限のみを持つユーザーは、 SHOW COLUMNS SQL コマンドを使用してテーブル列を探索できません。

次のコマンドを実行して、テーブルの列を表示します。

SQL
SHOW COLUMNS IN table_name

SHOW COLUMNSを参照してください。

サンプルデータを見る

次のコマンドを実行して、テーブルから 1000 件のレコードを表示します。

SQL
SELECT * FROM table_name LIMIT 1000;

データのクエリを参照してください。

テーブルの詳細を参照してください

注記

オブジェクトに対する BROWSE 権限のみを持つユーザーは、 DESCRIBE TABLE SQL コマンドを使用してテーブルの詳細を表示できません。

次のコマンドを実行して、テーブルを記述します。

SQL
DESCRIBE TABLE table_name

次のコマンドを実行して、テーブルのテーブル プロパティを表示します。

SQL
SHOW TBLPROPERTIES table_name

DESCRIBE TABLESHOW TBLPROPERTIES を参照してください。

テーブルの履歴を表示する

テーブル履歴は、Delta テーブルで使用できます。 Unity CatalogマネージドテーブルはすべてDeltaテーブルです。

次のコマンドを実行して、テーブルの履歴を確認します。

SQL
DESCRIBE HISTORY table_name

DESCRIBE HISTORYを参照してください。

頻繁に使用するクエリとユーザーを表示する

テーブルが Unity Catalog に登録されている場合は、Catalog Explorer を使用して、テーブルに対して最も頻繁に行われたクエリと、過去 30 日間にテーブルにアクセスしたユーザーを表示できます。 テーブルの頻繁なクエリとユーザーを表示するを参照してください。

主キーと外部キーの関係を表示する

外部キーが定義されているテーブルの場合は、[ 列] タブの右上にある [リレーションシップの表示] ボタン [ リレーションシップの表示] をクリックします。エンティティ関係図 (ERD) が開きます。 ERD は、グラフ内のテーブル間の主キーと外部キーの関係を表示し、データ エンティティの接続方法を明確かつ直感的に表現します。

エンティティ関係図

プライマリ・キー制約と外部キー制約の詳細については、Databricks制約を参照してください。