Quickstart: Set up a user to query a table | Databricks on AWS [2022/8/17時点]の翻訳です。
クイックスタート: クエリーを実行するユーザーのセットアップ
Databricksクイックスタートガイドのコンテンツです。
このクイックスタートでは、ユーザーの作成方法、SQLエンドポイントの作成方法、Databricks datasetから1000万人のレコードを含むテーブルを作成する方法、ユーザーに対するテーブルアクセス権を設定する方法、クエリーを実行する方法、クエリーのランタイムの詳細を説明します。
重要!
Databricks SQLでは、常にデータアクセスコントロールが有効になっていますので、ユーザーは常にデータに対するアクセス権を有している必要があります。
要件
- Databricksアカウントはプレミアムプランである必要があります。
- DatabricksワークスペースはE2バージョンである必要があります。E2ワークスペースの作成に関しては、アカウントコンソールによるワークスペースの作成・管理(英語)を参照ください。新たに作成するDatabricksアカウントおよび既存アカウントのほとんどはE2となっています。お使いのアカウントタイプが不明の場合には、Databricks窓口にお問い合わせください。
- Databricksのワークスペース管理者である必要があります。
サイドバーの使用
サイドバーからDatabricksの全てのアセットにアクセスできます。サイドバーのコンテンツは選択するペルソナ(Data Science & Engineering、Machine Learning、SQL)によって決まります。
- デフォルトではサイドバーは畳み込まれた状態で表示され、アイコンのみが表示されます。サイドバー上にカーソルを移動すると全体を表示することができます。
- ペルソナを変更するには、Databricksロゴの直下にあるアイコンからペルソナを選択します。
- 次回ログイン時に表示されるペルソナを固定するには、ペルソナの隣にあるをクリックします。再度クリックするとピンを削除することができます。
- サイドバーの一番下にあるMenu optionsで、サイドバーの表示モードを切り替えることができます。Auto(デフォルト)、Expand(展開)、Collapse(畳み込み)から選択できます。
ステップ1: ユーザーの作成
-
必要に応じてサイドバーのペルソナを変更してData Science & Engineeringを選択します。
-
Databricksワークスペースからadmin consoleに移動します。
-
UsersタブでAdd Userをクリックします。
-
Send inviteをクリックします。
Databricksは一時パスワードを含む確認メールを送信します。ユーザーが5分以内にメールを受信しない場合には、ユーザーに迷惑メールとして分類されていない確認してください。
ワークスペースにユーザーが追加されます。
-
必要に応じて、Databricks SQL accessチェックボックスをチェックしてユーザーによるDatabricks SQLへのアクセスを許可します。デフォルトでは新規ワークスペースのすべてのユーザーがこの資格を持ちます。
注意
パブリックプレビュー期間中にお使いのワークスペースでDatabricks SQLが有効化されている場合、すなわち2021/7/7の週以前では、変更しない限り、その日以前に割り当てられた資格情報を保持します。言い換えると、パブリックプレビュー期間中にDatabricks SQL accessの資格を有していないユーザーは、管理者が許可しない限り、その権限を持つことはありません。 -
Confirmをクリックします。
ステップ2: 1000万人のpeopleテーブルを作成する
-
SQLを選択するためにペルソナスイッチャーを使います。
-
左のドロップボックスでStarter WarehouseのようなSQLウェアハウスを選択します。
-
以下のクエリーをSQLエディタに貼り付けます。
SQLCREATE TABLE default.people10m OPTIONS (PATH 'dbfs:/databricks-datasets/learning-spark-v2/people/people-10m.delta')
このSQL文によって、Databricksデータセットに格納されているDelta Lakeファイルを使ってDeltaテーブルを作成します。
-
Ctrl/Cmd + Enterを押すか、Executeボタンをクリックします。このクエリーは
No data was returned
を返します。
ステップ3: default.people10m
テーブルに対するアクセス権の設定
ステップ1で作成したユーザーがステップ2で作成したdefault.people10m
テーブルにアクセスできるようします。
データエクスプローラかSQLエディタを用いてアクセスを設定することができます。
データエクスプローラ
- サイドバーのDataをクリックします。
- 右上のドロップダウンリストで、Starter WarehouseのようなSQLウェアハウスを選択します。
default
データベースが選択されます。データベースのコメントとオーナーが表示されます。 -
default
データベースの後のテキストボックスにpeo
と入力します。データエクスプローラにpeople10m
テーブルが表示されます。 - Permissionsタブをクリックします。
-
Grantボタンをクリックします。
-
user@example.com
を入力します。 - USAGEチェックボックスをチェックします。
- OKをクリックします。
-
people10m
テーブルをクリックします。 - Permissionsタブをクリックします。
-
Grantボタンをクリックします。
-
user@example.com
を入力します。 - SELECTとREAD_METADATAチェックボックスをチェックします。
- OKをクリックします。
SQLエディタ
-
左のドロップボックスでStarter WarehouseのようなSQLウェアハウスを選択します。
-
以下のクエリーをSQLエディタに一つづつ貼り付けます。
SQLGRANT USAGE ON DATABASE default TO `user@example.com`; GRANT SELECT, READ_METADATA ON TABLE default.people10m TO `user@example.com`; SHOW GRANTS `user@example.com` ON TABLE default.people10m;
それぞれのクエリーの後で、Ctrl/Cmd + Enterを押すか、Executeボタンをクリックします。最後のクエリーを実行した後には以下の結果が表示されるはずです。
+------------------+---------------+------------+-----------------------+
| Principal | ActionType | ObjectType | ObjectKey |
+------------------+---------------+------------+-----------------------+
| user@example.com | READ_METADATA | TABLE | `default`.`people10m` |
+------------------+---------------+------------+-----------------------+
| user@example.com | SELECT | TABLE | `default`.`people10m` |
+------------------+---------------+------------+-----------------------+
| user@example.com | USAGE | DATABASE | default |
+------------------+---------------+------------+-----------------------+
ステップ4: クエリーの作成
Databricks SQL: ユーザー向けクイックスタートを修了してください。
ステップ6: クエリー履歴の参照
次のステップ
データやテーブルに対するアクセス権の詳細に関しては、Databricks SQLのセキュリティモデルとデータアクセスの概要を参照ください。
どのようにアクセスを有効化するのかを学ぶために、https://<databricks-instance>/sql
にアクセスしてください。<databricks-instance>
をdbc-a1b2345c-d6e7.cloud.databricks.com
のようなお使いのワークスペースインスタンス名で置き換えてください。