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

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

この記事では、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で管理されるデータベース オブジェクトをナビゲートできます。 hive_metastore およびUnity Catalogによって管理されていない他のカタログ内のデータを探索するには、適切な権限でコンピュートにアタッチする必要があります。

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

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

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

SQL
SHOW TABLES IN schema_name LIKE 'sales_*_fy23'

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

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

Run the following command to see a list of catalogs available to you.

SQL
SHOW CATALOGS

See SHOW CATALOGS.

カタログを選択

Run the following command to set your currently active catalog.

SQL
USE CATALOG catalog_name

See USE CATALOG.

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

Run the following command to describe a catalog.

SQL
DESCRIBE CATALOG catalog_name

See DESCRIBE CATALOG.

スキーマの探索

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

Run the following command to see a list of schemas available to you.

SQL
SHOW SCHEMAS IN catalog_name

See SHOW SCHEMAS.

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

Run the following command to set your currently active schema.

SQL
USE schema catalog_name.schema_name

See USE SCHEMA.

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

Run the following command to describe a schema.

SQL
DESCRIBE SCHEMA schema_name

See DESCRIBE SCHEMA.

テーブルとビューの探索

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

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

Run the following command to see a list of tables available to you.

SQL
SHOW TABLES IN catalog_name.schema_name

Run the following command to see a list of tables available to you.

SQL
SHOW VIEWS IN catalog_name.schema_name

See SHOW TABLES and SHOW VIEWS.

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

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

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

テーブル列を探索する

Run the following command to view table columns.

SQL
SHOW COLUMNS IN table_name

See SHOW COLUMNS.

サンプルデータを見る

Run the following command to view 1000 records from a table.

SQL
SELECT * FROM table_name LIMIT 1000;

See Query data.

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

Run the following command to describe a table.

SQL
DESCRIBE TABLE table_name

Run the following command to display table properties for a table.

SQL
SHOW TBLPROPERTIES table_name

See DESCRIBE TABLE and SHOW TBLPROPERTIES.

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

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

Run the following command to review table history.

SQL
DESCRIBE HISTORY table_name

See DESCRIBE HISTORY.

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

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

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

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

エンティティ関係図

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