データベース・オブジェクトの探索
この記事では、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 メタストア内のデータガバナンスの最上位レベルを表します。
カタログエクスプローラーにアクセスすると、使用可能なカタログのリストが表示されます。
スキーマの探索
スキーマは、Unity Catalog のテーブル、ビュー、ボリューム、関数、モデルのコレクションです。 スキーマはカタログに含まれています。
カタログエクスプローラーでカタログを選択すると、使用可能なスキーマのリストが表示されます。
テーブルとビューの探索
テーブルとビューはスキーマに含まれています。 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 でのみ使用できます。
カタログエクスプローラーでテーブルを選択して、テーブルの詳細を表示します。
テーブルの詳細を見る
次のコマンドを実行して、テーブルを記述します。
DESCRIBE TABLE table_name
次のコマンドを実行して、テーブルのテーブル プロパティを表示します。
SHOW TBLPROPERTIES table_name
DESCRIBE TABLEおよびSHOW TBLPROPERTIESを参照してください。
[ 詳細 ] タブを選択して、テーブルのプロパティを含むテーブルの詳細を確認します。
テーブル履歴の表示
テーブル履歴は、Delta テーブルで使用できます。 すべての Unity Catalog マネージド テーブルは Delta テーブルです。
[ 履歴 ] タブを選択して、テーブルの履歴を確認します。
頻出クエリーとユーザーを表示する
テーブルが Unity Catalog に登録されている場合は、カタログ エクスプローラーを使用して、テーブルに対して最も頻繁に行われたクエリーと、過去 30 日間にテーブルにアクセスしたユーザーを表示できます。 「頻繁にクエリーとテーブルのユーザーを表示する」を参照してください。
主キーと外部キーの関係を表示する
外部キーが定義されているテーブルの場合は、[ 列] タブの右上にある [ リレーションシップ の表示] をクリックします。エンティティ関係図 (ERD) が開きます。 ERD は、テーブル間の主キーと外部キーの関係をグラフに表示し、データ エンティティの接続方法を明確かつ直感的に表現します。
主キー制約と外部キー制約の詳細については、「 Databricks の制約」を参照してください。