データベース オブジェクトを探索する
この記事では、Azure Databricks で catalogs、スキーマ、tables、およびその他のデータベース オブジェクトを検出して探索する方法について詳しく説明します。 この記事の手順では、少なくとも BROWSE
または SELECT
権限を持つデータベース オブジェクトの詳細を返すことに重点を置いています。
Unity
データベース オブジェクトへのほとんどのアクセスは Unity Catalogによって管理されますが、会社では別のデータ ガバナンス アプローチを使用したり、Unity Catalog を他のレガシ table ACL と組み合わせたりする場合があります。 この記事では、Unity Catalogによって管理されるオブジェクトの動作について説明しますが、この記事で説明するほとんどの方法は、Unity Catalogによって管理されていないデータベース オブジェクトでも機能します。
この記事には、Catalog Explorer と SQL の手順が含まれています。 ワークスペースのサイド バーで [Catalog] アイコンをSelectして、Catalog エクスプローラーにアクセスします。 コンピューティングにアタッチされているノートブックまたはクエリ エディターから SQL コマンドを実行できます。 Catalog Explorer でデータベース オブジェクトを表示するには、少なくともオブジェクトに対する
BROWSE
権限が必要です。 SQL を使用してデータベース オブジェクトを表示するには、少なくとも、オブジェクトに対する SELECT
特権と、親 catalog と親 schemaの USE SCHEMA
に対する USE CATALOG
が必要です。
Note
アクティブなコンピューティングを使用せずに、Catalog Explorer で Unity Catalog管理されたデータベース オブジェクト間を移動できます。 Unity Catalogによって管理されない hive_metastore
やその他の catalogs 内のデータを探索するには、適切な特権を持つコンピューティングにアタッチする必要があります。
データベース オブジェクトのフィルター処理
Catalog エクスプローラーを使用してデータベース オブジェクトを対話的に探索するときに、指定されたテキスト ボックスを使用して結果をフィルター処理できます。 オブジェクト名の一致する文字列は強調表示されますが、現在表示されているデータベース オブジェクト間でのみとなります。 すべてのデータベース オブジェクトの完全な検索については、「ワークスペース オブジェクトを検索する」を参照してください。
SQL では、必要に応じて、次のような regex_pattern
ステートメントと組み合わせて SHOW
句を指定することで、同様の機能が提供されます。
SHOW TABLES IN schema_name LIKE 'sales_*_fy23'
catalogs を探索する
Catalogs は、各 Unity Catalog メタストアにおけるデータ ガバナンスの最上位レベルを表します。
SQL
次のコマンドを実行して、使用可能なcatalogsのlistを表示します。
SHOW CATALOGS
「SHOW CATALOGS」をご覧ください。
Catalog エクスプローラー
Catalog エクスプローラーにアクセスすると、使用可能なcatalogsのlistが表示されます。
catalogをSelectする
SQL
次のコマンドを実行して、現在アクティブなcatalogをsetします。
USE CATALOG catalog_name
「USE CATALOG」をご覧ください。
Catalog エクスプローラー
catalogの名前をクリックしてそれをselectします。
catalog の詳細を参照してください
SQL
次のコマンドを実行して、catalogについて説明します。
DESCRIBE CATALOG catalog_name
「DESCRIBE CATALOG」をご覧ください。
Catalog エクスプローラー
[詳細] タブをSelectして、catalogの詳細を確認します。
スキーマを調べる
スキーマは、Unity Catalogの tables、views、volumes、関数、およびモデルのコレクションです。 スキーマは catalogsに含まれています。
SQL
次のコマンドを実行して、使用可能なスキーマの list を確認します。
SHOW SCHEMAS IN catalog_name
「SHOW SCHEMAS」をご覧ください。
Catalog エクスプローラー
Catalog Explorer で catalog を select すると、使用可能なスキーマの list が表示されます。
schemaをSelectする
SQL
次のコマンドを実行して、現在アクティブなschemaをsetします。
USE schema catalog_name.schema_name
「USE SCHEMA」をご覧ください。
Catalog エクスプローラー
schemaの名前をクリックしてそれをselectします。
schema の詳細を参照してください
SQL
次のコマンドを実行して、schemaについて説明します。
DESCRIBE SCHEMA schema_name
「DESCRIBE SCHEMA」をご覧ください。
Catalog エクスプローラー
[詳細] タブをSelectして、schemaの詳細を確認します。
tables と views を探索する
Tables と views はスキーマに含まれています。 Unity Catalog のほとんどの tables は Delta Lake によって支援されていますが、外部データに登録されている tables にアクセスできる場合もあります。 「Azure Databricks ではどのようなデータにクエリを実行できますか?」を参照してください。
Unity Catalog のViewsでは、常に別のtableのデータが参照されます。
SQL
次のコマンドを実行して、使用可能なtablesのlistを表示します。
SHOW TABLES IN catalog_name.schema_name
次のコマンドを実行して、使用可能なtablesのlistを表示します。
SHOW VIEWS IN catalog_name.schema_name
「SHOW TABLES」と「SHOW VIEWS」を参照してください。
Catalog エクスプローラー
Catalog エクスプローラーでschemaをselectすると、使用可能なtablesとviewsのlistが表示されます。
Note
schema に他のデータベースオブジェクトの volumes が存在する場合は、Tables をクリックして、tables と viewsの list を展開する必要があります。
table の内容と詳細を表示する
Catalog エクスプローラーまたは SQL を使用して、ほとんどの table の詳細を表示できます。 一部の詳細は、Catalog エクスプローラー UI でのみ使用できます。
Catalog エクスプローラーでtableをSelectして、tableの詳細を探索します。
tablecolumns を探索する
SQL
次のコマンドを実行して、tablecolumnsを表示します。
SHOW COLUMNS IN table_name
「SHOW COLUMNS」をご覧ください。
Catalog エクスプローラー
[Columns] タブをSelectして、tableのcolumnsを表示します。
サンプル データを表示する
SQL
次のコマンドを実行して、tableから 1,000 個のレコードを表示します。
SELECT * FROM table_name LIMIT 1000;
「データのクエリ」を参照してください。
Catalog エクスプローラー
[サンプル データ] タブをSelectして、サンプル データを表示します。 データをサンプリングするにはアクティブなコンピューティングにアクセスできる必要があります。
table の詳細を参照してください
SQL
次のコマンドを実行して、tableについて説明します。
DESCRIBE TABLE table_name
次のコマンドを実行して、tableのプロパティ table 表示します。
SHOW TBLPROPERTIES table_name
「DESCRIBE TABLE」と「SHOW TBLPROPERTIES」を参照してください。
Catalog エクスプローラー
[詳細] タブをSelectして、tableのプロパティを含むtableの詳細を確認します。
table 履歴を表示する
Table 履歴は Delta tablesで使用できます。 Unity Catalog で管理されたすべてのtablesは、Delta tablesです。
SQL
次のコマンドを実行して、table 履歴を確認します。
DESCRIBE HISTORY table_name
「DESCRIBE HISTORY」をご覧ください。
Catalog エクスプローラー
[履歴] タブをSelectして、tableの履歴を確認します。
頻繁なクエリとユーザーを表示する
table が Unity Catalogに登録されている場合は、table に対して最も頻繁に実行されたクエリと、過去 30 日間に table にアクセスしたユーザーを Catalog Explorer を使用して表示できます。 「tableの頻繁なクエリとユーザーを表示する」を参照してください。
主キーと外部キーのリレーションシップを表示する
外部キーが定義されているtablesの場合は、[Columns] タブの右上にある [リレーションシップの表示] をクリックします。エンティティ関係図 (ERD) が開きます。 ERD は、tables 間の主キーと外部キーの関係をグラフに表示し、データ エンティティの接続方法を明確かつ直感的に表現します。
主キーと外部キーの制約の詳細については、「Azure Databricks の制約」を参照してください。