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

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

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

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

この記事には、カタログ エクスプローラーと SQL の手順が含まれています。 を選択カタログ アイコンワークスペースのサイドバーにあるカタログアイコンをクリックして、カタログ エクスプローラーにアクセスします。 SQL コマンドは、ノートブックまたはコンピュートに付属のクエリ エディターから実行できます。 カタログエクスプローラーでデータベースオブジェクトを表示するには、オブジェクトに対する BROWSE 権限以上が必要です。 SQL を使用してデータベース オブジェクトを表示するには、オブジェクトに対する少なくともSELECT権限、親カタログに対するUSE CATALOGおよび親スキーマに対するUSE SCHEMAが必要です。

注:

Unity Catalog で管理されるデータベース オブジェクトは、アクティブなコンピュートなしでカタログ エクスプローラーで移動できます。 hive_metastore 内のデータや、Unity Catalog によって管理されていないその他のカタログを探索するには、適切な特権でコンピュートにアタッチする必要があります。

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

カタログエクスプローラーを使用してデータベースオブジェクトをインタラクティブに探索しているときに、表示されたテキストボックスを使用して結果をフィルタできます。 オブジェクト名で一致した文字列は強調表示されますが、現在表示されているデータベースオブジェクト間でのみ強調表示されます。 すべてのデータベース オブジェクトの完全な検索については、「 ワークスペース オブジェクトの検索」を参照してください。

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

SHOW TABLES IN schema_name LIKE 'sales_*_fy23'

カタログを探す

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

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

SHOW CATALOGS

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

カタログエクスプローラーにアクセスすると、使用可能なカタログのリストが表示されます。

カタログの選択

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

USE CATALOG catalog_name

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

カタログ名をクリックして選択します。

カタログの詳細を見る

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

DESCRIBE CATALOG catalog_name

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

[ 詳細 ] タブを選択して、カタログの詳細を確認します。

スキーマの探索

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

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

SHOW SCHEMAS IN catalog_name

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

カタログエクスプローラーでカタログを選択すると、使用可能なスキーマのリストが表示されます。

スキーマの選択

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

USE schema catalog_name.schema_name

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

スキーマ名をクリックして選択します。

スキーマの詳細を表示する

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

DESCRIBE SCHEMA schema_name

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

詳細 」タブを選択して、スキーマの詳細を確認します。

テーブルとビューの探索

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

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

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

SHOW TABLES IN catalog_name.schema_name

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

SHOW VIEWS IN catalog_name.schema_name

SHOW TABLESおよびSHOW VIEWSを参照してください。

カタログエクスプローラーでスキーマを選択すると、使用可能なテーブルとビューのリストが表示されます。

注:

スキーマにボリュームなどの他のデータベース・オブジェクトが存在する場合は、「 表」 をクリックして表とビューのリストを展開する必要があります。

テーブルの内容と詳細を表示する

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

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

テーブル列の探索

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

SHOW COLUMNS IN table_name

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

[ ] タブを選択して、テーブルの列を表示します。

サンプル データの表示

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

SELECT * FROM table_name LIMIT 1000;

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

「サンプル・データ」タブを選択して、 サンプル・データ を表示します。 データをサンプリングするには、アクティブなコンピュートにアクセスできる必要があります。

テーブルの詳細を見る

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

DESCRIBE TABLE table_name

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

SHOW TBLPROPERTIES table_name

DESCRIBE TABLEおよびSHOW TBLPROPERTIESを参照してください。

[ 詳細 ] タブを選択して、テーブルのプロパティを含むテーブルの詳細を確認します。

テーブル履歴の表示

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

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

DESCRIBE HISTORY table_name

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

[ 履歴 ] タブを選択して、テーブルの履歴を確認します。

頻出クエリーとユーザーを表示する

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

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

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

実体関係図

主キー制約と外部キー制約の詳細については、「 Databricks の制約」を参照してください。