データベース オブジェクトを探索する
この記事では、Azure Databricks でカタログ、スキーマ、テーブル、およびその他のデータベース オブジェクトを検出して探索する方法について詳しく説明します。 この記事の手順では、少なくとも BROWSE
または SELECT
権限を持つデータベース オブジェクトの詳細を返すことに重点を置いています。
Unity Catalog の権限の一般的な情報については、「Unity Catalog の権限とセキュリティ保護可能なオブジェクト」を参照してください。 カタログ エクスプローラーを使ってスキーマの所有権とアクセス許可を設定する方法については、「Data Explorer で Unity Catalog オブジェクトの所有権を管理する」とカタログ エクスプローラーでの Unity Catalog のアクセス許可の管理に関するページを参照してください。
データベース オブジェクトへのほとんどのアクセスは Unity Catalog によって管理されますが、会社では別のデータ ガバナンス アプローチを使用したり、Unity Catalog を他のレガシ テーブル ACL と組み合わせたりする場合があります。 この記事では、Unity Catalog によって管理されるオブジェクトの動作について説明することに重点を置きますが、この記事で説明するほとんどの方法は、Unity Catalog によって管理されていないデータベース オブジェクトでも機能します。
この記事には、カタログ エクスプローラーと SQL の手順が含まれています。 ワークスペースのサイド バーで [カタログ] アイコンを選択して、カタログ エクスプローラーにアクセスします。 コンピューティングにアタッチされているノートブックまたはクエリ エディターから SQL コマンドを実行できます。 カタログ エクスプローラーでデータベース オブジェクトを表示するには、少なくともオブジェクトに対する BROWSE
権限が必要です。 SQL を使用してデータベース オブジェクトを表示するには、少なくとも、オブジェクトに対する SELECT
特権と、親カタログと親スキーマの USE SCHEMA
に対する USE CATALOG
が必要です。
Note
アクティブなコンピューティングを使用せずに、カタログ エクスプローラーで Unity Catalog 管理データベース オブジェクト間を移動できます。 hive_metastore
および他のカタログ (Unity Catalog によって管理されていない) 内のデータを探索するには、適切な権限でコンピューティングにアタッチする必要があります。
データベース オブジェクトのフィルター処理
カタログ エクスプローラーでのデータベース オブジェクトの対話型探索中に、指定されたテキスト ボックスを使用して結果をフィルター処理できます。 オブジェクト名の一致する文字列は強調表示されますが、現在表示されているデータベース オブジェクト間でのみとなります。 すべてのデータベース オブジェクトの完全な検索については、「ワークスペース オブジェクトを検索する」を参照してください。
SQL では、必要に応じて、次のような SHOW
ステートメントと組み合わせて regex_pattern
句を指定することで、同様の機能が提供されます。
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 によってサポートされていますが、外部データに対して登録されたテーブルにアクセスできる場合もあります。 「Azure Databricks ではどのようなデータにクエリを実行できますか?」を参照してください。
Unity Catalog のビューでは常に別のテーブルのデータが参照されます。
Sql
次のコマンドを実行して、使用可能なテーブルの一覧を表示します。
SHOW TABLES IN catalog_name.schema_name
次のコマンドを実行して、使用可能なテーブルの一覧を表示します。
SHOW VIEWS IN catalog_name.schema_name
「SHOW TABLES」と「SHOW VIEWS」を参照してください。
カタログ エクスプローラー
カタログ エクスプローラーでスキーマを選択すると、使用可能なテーブルとビューの一覧が表示されます。
Note
スキーマにボリュームなどの他のデータベース オブジェクトが存在する場合、テーブルとビューの一覧を展開するには、[テーブル] をクリックする必要がある場合があります。
テーブルの内容と詳細を表示する
ほとんどのテーブルの詳細は、カタログ エクスプローラーまたは SQL を使用して表示できます。 一部の詳細は、カタログ エクスプローラー UI でのみ使用できます。
カタログ エクスプローラーでテーブルを選択して、テーブルの詳細を探索します。
テーブル列を探索する
Sql
次のコマンドを実行して、テーブル列を表示します。
SHOW COLUMNS IN table_name
「SHOW COLUMNS」を参照してください。
カタログ エクスプローラー
[列] タブを選択して、テーブル列を表示します。
サンプル データを表示する
Sql
次のコマンドを実行して、テーブルから 1000 個のレコードを表示します。
SELECT * FROM table_name LIMIT 1000;
「データのクエリ」を参照してください。
カタログ エクスプローラー
[サンプル データ] タブをクリックして、サンプル データを表示します。 データをサンプリングするにはアクティブなコンピューティングにアクセスできる必要があります。
テーブルの詳細を表示する
Sql
次のコマンドを実行して、テーブルを記述します。
DESCRIBE TABLE table_name
次のコマンドを実行して、テーブルのテーブル プロパティを表示します。
SHOW TBLPROPERTIES table_name
「DESCRIBE TABLE」と「SHOW TBLPROPERTIES」を参照してください。
カタログ エクスプローラー
[詳細] タブを選択して、テーブルのプロパティを含むテーブルの詳細を確認します。
テーブル履歴の表示
テーブル履歴は Delta テーブルで使用できます。 Unity Catalog マネージド テーブルはすべて Delta テーブルです。
Sql
次のコマンドを実行して、テーブル履歴を確認します。
DESCRIBE HISTORY table_name
「DESCRIBE HISTORY」を参照してください。
カタログ エクスプローラー
[履歴] タブを選択して、テーブル履歴を確認します。
頻繁なクエリとユーザーを表示する
テーブルが Unity Catalog に登録されている場合は、テーブルで最も頻繁に行われたクエリと、過去 30 日間にテーブルにアクセスしたユーザーをカタログ エクスプローラーを使用して表示できます。 「テーブルの頻繁なクエリとユーザーを表示する」を参照してください。
主キーと外部キーのリレーションシップを表示する
外部キーが定義されているテーブルの場合は、[列] タブの右上にある [リレーションシップの表示] をクリックします。エンティティ関係図 (ERD) が開きます。 ERD は、テーブル間の主キーと外部キーの関係をグラフに表示し、データ エンティティの接続方法を明確かつ直感的に表現します。
主キーと外部キーの制約の詳細については、「Azure Databricks の制約」を参照してください。