データベース・オブジェクトの探索
この記事では、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
句をオプションで指定することにより、同様の機能を提供します。
SHOW TABLES IN schema_name LIKE 'sales_*_fy23'
カタログを調べてください
カタログは、各 Unity Catalog メタストアのデータガバナンスの最上位レベルを表します。
- SQL
- Catalog Explorer
カタログエクスプローラーにアクセスすると、使用可能なカタログのリストが表示されます。
カタログを選択
- SQL
- Catalog Explorer
カタログ名をクリックして選択します。
カタログの詳細を参照してください
- SQL
- Catalog Explorer
[詳細 ] タブを選択して、カタログの詳細を確認します。
スキーマの探索
スキーマは、Unity Catalog のテーブル、ビュー、ボリューム、関数、モデルのコレクションです。 スキーマはカタログに含まれています。
- SQL
- Catalog Explorer
カタログエクスプローラーでカタログを選択すると、使用可能なスキーマのリストが表示されます。
スキーマを選択してください
- SQL
- Catalog Explorer
スキーマ名をクリックして選択します。
スキーマの詳細を参照してください
- SQL
- Catalog Explorer
[詳細 ] タブを選択して、スキーマの詳細を確認します。
テーブルとビューの探索
テーブルとビューはスキーマに含まれています。 Unity Catalog のほとんどのテーブルは Delta Lake によってサポートされていますが、外部データに対して登録されたテーブルにアクセスできる場合もあります。 「Databricks でクエリできるデータ」を参照してください。
Unity Catalog のビューは、常に別のテーブルのデータを参照します。
- SQL
- Catalog Explorer
次のコマンドを実行して、使用可能なテーブルの一覧を表示します。
SHOW TABLES IN catalog_name.schema_name
次のコマンドを実行して、使用可能なテーブルの一覧を表示します。
SHOW VIEWS IN catalog_name.schema_name
SHOW TABLESとSHOW VIEWSを参照してください。
カタログエクスプローラーでスキーマを選択すると、使用可能なテーブルとビューのリストが表示されます。
スキーマにボリュームなどの他のデータベース・オブジェクトが存在する場合は、「 表 」をクリックして表およびビューのリストを拡張する必要があります。
表の内容と詳細を表示する
ほとんどのテーブルの詳細は、カタログエクスプローラーまたは SQL で表示できます。 一部の詳細は、カタログエクスプローラーUI でのみ使用できます。
カタログエクスプローラーでテーブルを選択して、テーブルの詳細を表示します。
テーブル列を探索する
オブジェクトに対する BROWSE
権限のみを持つユーザーは、 SHOW COLUMNS
SQL コマンドを使用してテーブル列を探索できません。
- SQL
- Catalog Explorer
「列」 タブを選択して、表の列を表示します。
サンプルデータを見る
- SQL
- Catalog Explorer
[サンプル データ ] タブを選択して、サンプル データを表示します。サンプルデータを作成するには、アクティブなコンピュートにアクセスできる必要があります。
テーブルの詳細を参照してください
オブジェクトに対する BROWSE
権限のみを持つユーザーは、 DESCRIBE TABLE
SQL コマンドを使用してテーブルの詳細を表示できません。
- SQL
- Catalog Explorer
次のコマンドを実行して、テーブルを記述します。
DESCRIBE TABLE table_name
次のコマンドを実行して、テーブルのテーブル プロパティを表示します。
SHOW TBLPROPERTIES table_name
DESCRIBE TABLE と SHOW TBLPROPERTIES を参照してください。
[詳細 ] タブを選択して、テーブルのプロパティを含むテーブルの詳細を確認します。
テーブルの履歴を表示する
テーブル履歴は、Delta テーブルで使用できます。 Unity CatalogマネージドテーブルはすべてDeltaテーブルです。
- SQL
- Catalog Explorer
[履歴 ] タブを選択して、テーブルの履歴を確認します。
頻繁に使用するクエリとユーザーを表示する
テーブルが Unity Catalog に登録されている場合は、Catalog Explorer を使用して、テーブルに対して最も頻繁に行われたクエリと、過去 30 日間にテーブルにアクセスしたユーザーを表示できます。 テーブルの頻繁なクエリとユーザーを表示するを参照してください。
主キーと外部キーの関係を表示する
外部キーが定義されているテーブルの場合は、[ 列] タブの右上にある [ リレーションシップの表示] をクリックします。エンティティ関係図 (ERD) が開きます。 ERD は、グラフ内のテーブル間の主キーと外部キーの関係を表示し、データ エンティティの接続方法を明確かつ直感的に表現します。
プライマリ・キー制約と外部キー制約の詳細については、Databricks制約を参照してください。