チュートリアル: 最初のテーブルを作成し、権限を付与する

この記事では、Databricks Unity Catalogデータガバナンス モデルを使用して、 でテーブルを作成し、権限を付与する方法について簡単に説明します。2024 年 3 月 6 日以降、新しいアカウントのワークスペースは Unity Catalog に対して自動的に有効になり、すべてのユーザーがこのチュートリアルを完了するために必要な権限が含まれます。

ワークスペースで Unity Catalog が有効になっているかどうかが不明な場合は、 「Unity Catalog のセットアップと管理」を参照してください。 Unity Catalog データ オブジェクトについて詳しく知りたい場合は、 「Unity Catalog とは」を参照してください。

この記事はユーザー向けですが、ワークスペース管理を新たに担当する管理者にとっても興味深い内容となる可能性があります。

始める前に

この記事で説明されているタスクを実行するには、次のものが必要です。

  • Unity Catalog に対して自動的に有効になった Databricks ワークスペース。

  • コンピュートリソースに添付するための権限。 コンピュートの使用を参照してください。

最初のテーブルを作成する

Unity Catalog には、データ オブジェクト用の 3 レベルの名前空間が含まれています: catalog.schema.table 。 この例では、ワークスペース カタログとdefaultスキーマ (データベース) にdepartmentという名前のテーブルを作成するノートブックを実行します。

注:

ワークスペース カタログは、ワークスペースで作成され、すべてのユーザーがアクセスできるデフォルトのカタログです。 ワークスペースと同じ名前になります。

SQL または Databricks Explorer UI を使用して、テーブルへのアクセスを宣言的に定義できます。

  1. サイドバーで、 [+新規] > [ノートブック]をクリックします。

  2. ノートブックの言語としてSQLを選択してください。

  3. [接続]をクリックして、コンピュータをコンピュートリソースに接続します。

  4. 次のコマンドをノートブックに追加して実行します ( <workspace-catalog>をワークスペース カタログの名前に置き換えます)。

    USE CATALOG <workspace-catalog>
    
    CREATE TABLE IF NOT EXISTS default.department
    (
       deptcode   INT,
       deptname  STRING,
       location  STRING
    );
    
    INSERT INTO default.department VALUES
       (10, 'FINANCE', 'EDINBURGH'),
       (20, 'SOFTWARE', 'PADDINGTON');
    
  5. サイドバーで、カタログ アイコンカタログを選択し、ワークスペース カタログ ( <workspace-name> ) とdefaultスキーマを検索すると、新しいdepartmentテーブルが見つかります。

カタログエクスプローラーを使用してワークスペースカタログ内のテーブルを検索する

テーブルに対する権限を管理する

元のテーブル作成者はテーブル の所有者であり、他のユーザーにテーブルの読み取りまたは書き込みのアクセス許可を付与できます。 所有権を譲渡することもできますが、ここでは行いません。 Unity Catalog権限とアクセス許可モデルの詳細については、 Unity Catalogでの権限の管理」を参照してください。

UI を使用してアクセス許可を付与する

UI を使用してテーブルに対するアクセス許可をユーザーに付与するには、次のようにします。

  1. カタログ エクスプローラーでテーブル名をクリックしてテーブルの詳細ページを開き、 [権限]タブに移動します。

  2. [付与] をクリックします。

  3. [Grant on] ダイアログで、次の操作を行います。

    1. 権限を付与するユーザーとグループを選択します。

    2. 付与する権限を選択します。 この例では、 SELECT (読み取り) 権限を割り当てて [付与] をクリックします。

SQL文を使用して権限を付与する

Databricks ノートブックまたは SQL クエリ エディターで次の SQL ステートメントを使用して、これらの権限を付与することもできます。 この例では、 data-consumersというグループにテーブルに対する権限を付与します。

GRANT SELECT ON default.department TO `data-consumers`;