次の方法で共有


外部テーブルの操作

外部テーブルは、クラウド テナントのクラウド オブジェクト ストレージ内のディレクトリにデータを格納します。 外部テーブルを定義するときは、保存場所を指定する必要があります。

Databricks では、Azure Databricks でコンピューティングを使用せずにデータに直接アクセスする必要がある場合にのみ、外部テーブルを使用することをお勧めします。 ユーザーが外部システムからデータ ファイルにアクセスする場合、Unity カタログ権限は適用されません。

Note

この記事では、Unity カタログの外部テーブルを中心に説明します。 レガシHive メタストアの外部テーブルはビヘイビアーが異なります。 「レガシ Hive メタストア内のデータベース オブジェクト」を参照してください。

外部テーブルの操作

Azure Databricks では、外部テーブルのメタデータのみが管理され、含まれているスキーマに関連付けられている管理保存場所は使用されません。 Unity カタログでのテーブルの登録は、データ ファイルへのポインターにすぎません。 外部テーブルを削除しても、データ ファイルは削除されない

外部テーブルを作成するときは、データ ファイルの既存のディレクトリをテーブルとして登録するか、新しいデータ ファイルを作成するためのパスを指定できます。

外部テーブルでは次のファイル形式を使用できます。

  • DELTA
  • CSV
  • JSON
  • AVRO
  • PARQUET
  • ORC
  • [TEXT]

外部テーブルを作成する

外部テーブルを作成するには、SQL コマンドまたはデータフレーム書き込み操作を使用できます。

開始する前に

外部テーブルを作成するには、次のアクセス許可要件を満たす必要があります:

  • 外部テーブルによってアクセスされる、LOCATION へのアクセスを許可する外部の場所に対する CREATE EXTERNAL TABLE 権限。
  • テーブルの親スキーマに対する USE SCHEMA 権限。
  • テーブルの親カタログに対する USE CATALOG 権限。
  • テーブルの親スキーマに対する CREATE TABLE 権限。

構成する外部の場所の詳細については、「クラウド ストレージを Azure Databricks に接続するための外部の場所を作成する」を参照してください。

SQL コマンドの例

ノートブックまたは SQL クエリ エディターで次のいずれかのコマンド例を使用して、外部テーブルを作成します。

次の例では、プレースホルダー値を置き換えます。

  • <catalog>: テーブルを含むカタログの名前。
  • <schema>: テーブルを含めるスキーマの名前。
  • <table-name>: テーブルの名前。
  • <column-specification>: 各列の名前とデータ型。
  • <bucket-path>: テーブルが作成されるクラウド ストレージ バケットへのパス。
  • <table-directory>: テーブルが作成されるディレクトリ。 テーブルごとに一意のディレクトリを使用します。
CREATE TABLE <catalog>.<schema>.<table-name>
(
  <column-specification>
)
LOCATION 'abfss://<bucket-path>/<table-directory>';

テーブルの作成パラメーターの詳細については、「テーブルの作成」をご覧ください。

DataFrame 書き込み操作

多くのユーザーは、クエリ結果または DataFrame 書き込み操作から外部テーブルを作成します。 次の記事では、Azure Databricks で外部テーブルを作成するために使用可能な多数のパターンの一部を示します:

外部テーブルを削除

テーブルをドロップするには、その所有者である必要があります。 外部テーブルを削除するには、次の SQL コマンドを実行します:

DROP TABLE IF EXISTS catalog_name.schema_name.table_name;

外部テーブルを削除しても、Unity Catalog では基になるデータは削除されません。 テーブルに関連付けられているデータを削除する必要がある場合は、基になるデータ ファイルを直接削除する必要があります。

ノートブックの例: 外部テーブルを作成する

次のノートブックの例を使用すると、カタログ、スキーマ、およびテーブルを作成し、それらのアクセス許可を管理できます。

Unity Catalog ノートブックで外部テーブルを作成し管理する

ノートブックを入手