はじめに:Databricksワークスペースのオンボーディング
この記事では、Databricksで初めてワークスペースを作成する際に便利な30分のセットアップガイドを紹介します。この記事のステップでは、次を実行する方法を説明します。
最初のDatabricksワークスペースを作成します。
最初のコンピュートリソースを作成します。
クラウドストレージからDatabricksにデータを読み込みます。
ワークスペースにユーザーを追加します。
作業を開始できるようにユーザーにデータへのアクセスを与えます。
要件
この記事の手順を完了するには、次が必要となります。
IAMロールとS3バケットをプロビジョニングするためのAWSアカウントの権限。
Databricksのデプロイ向けにAWSリージョンで利用可能なサービスクォータ。使用可能なVPCとNATゲートウェイが必要です。[AWSのサービスクォータ] コンソールを使用して、利用可能なクォータを確認したり、クォータの追加をリクエストしたりできます。
クラウドオブジェクトストレージに保存されているデータへのアクセス。この記事では、S3 バケットの手順について説明します。
注:
Databricksのサブスクリプションを解約する場合は、継続的なコストの発生を防ぐため、AWSコンソールから関連するリソースをすべて削除してください。手順については、「Databricksサブスクリプションの解約」を参照してください。
ステップ 1:最初のワークスペースを作成する
ふりートライアルにサインアップして、メールアドレスの認証を行うと、Databricksアカウントにアクセスできるようになります。
アカウントに初めてログインしたら、指示に従ってワークスペースを設定してください。これらの手順では、クイックスタートを使用してワークスペースを作成し、クラウドリソースをすばやくプロビジョニングします。
人間が判読できる名前をワークスペースに入力します。これは後で変更することはできません。
ワークスペースをデプロイするAWSリージョンを選択します。クラウドリージョンに、利用可能なVPCとNATゲートウェイがあることを必ずご確認ください。
[クイックスタートを始める] をクリックします。これにより、AWSコンソールが開き、事前に入力されたCloudFormationテンプレートによってリソースとワークスペースがデプロイされます。
「AWS CloudFormationがIAMリソースをカスタム名で作成する可能性があることを理解しました。」のチェックボックスを選択します。
警告
テンプレート内の追加フィールドを編集すると、デプロイメントが失敗する可能性があります。
[スタックを作成] をクリックします。
Databricksアカウントコンソールに戻り、ワークスペースのデプロイが完了するのを待ちます。これに要する時間は数分程度です。
デプロイのプロセスでエラーが発生した場合は、onboarding-help@databricks.comにEメールを送信し、トラブルシューティングのヘルプについてお問い合わせください。
注:
組織のクラウド管理者でありながら、Databricksデプロイメントの日常的な管理を行わない場合は、ワークスペース管理者をアカウントに追加してオンボーディングの残りのステップを引き継いでください。「アカウントのユーザーを管理する」を参照してください。
ステップ 2:コンピュートリソースを作成する
データとやり取りするには、ワークスペース内のユーザーがコンピュートリソースを実行している必要があります。Databricksで利用可能なコンピュートリソースにはいくつかの種類があります。これらの手順により、すべてのワークスペースユーザーがSQLクエリを実行できるサーバーレスSQLウェアハウスが作成されます。
注:
Databricksはフリートライアル中には料金を請求しませんが、AWSはDatabricksがお客様のリンクされたAWSアカウントにデプロイしたコンピュートリソースに対して料金を請求します。
新しいワークスペースを開きます。
サイドバーで、[SQL ウェアハウス] をクリックします。
[SQLウェアハウスを作成] ボタンをクリックします。
SQLウェアハウスに名前をつけます。
[作成]をクリックします。
権限モーダルで、
All Users
と入力して選択し、[追加] をクリックします。
サーバーレスSQLウェアハウスは、SQLクエリを実行するためにすぐに稼働する必要があります。
ステップ 3:ワークスペースを情報ソースに接続する
Databricksワークスペースをクラウドストレージに接続するには、外部ロケーションを作成する必要があります。外部ロケーションとは、クラウドストレージパスと、ストレージパスへのアクセスを許可する資格情報を組み合わせたオブジェクトです。
Databricksワークスペースで、サイドバーの [カタログ] をクリックします。
ページ上部にある [+ 追加] をクリックします。
[外部ロケーションを追加] をクリックします。
DatabricksはAWSクイックスタートの使用を推奨しています。クイックスタートを通じ、ワークスペースがバケット上で正しい権限を与えられていることを確認できます。
[バケット名] に、データのインポート元となるバケットの名前を入力します。
[新規トークンの作成] をクリックして、トークンをコピーします。
[クイックスタートで開始] をクリックします。
AWSコンソールで、コピーしたトークンを [Databricks個人用アクセストークン] フィールドに入力します。
「AWS CloudFormationがIAMリソースをカスタム名で作成する可能性があることを理解しました。」のチェックボックスを選択します。
[スタックを作成] をクリックします。
ワークスペース内の外部ロケーションを表示するには、サイドバーの [カタログ] をクリックし、左側のナビゲーション ウィンドウの下部にある [外部データ]、そして [外部ロケーション] の順にクリックします。新しい外部ロケーションには、db_s3_external_databricks-S3-ingest-<id>
という構文を使用した名前が付けられます。
注:
表示される他の外部ロケーションは、ワークスペースをワークスペースと一緒にデフォルト S3 バケット プロビジョニングに接続します。 この外部ロケーションは、ワークスペースと名前を共有します。
ステップ 4:データをDatabricksに追加する
ワークスペースがS3バケットに接続されたので、データを追加できます。
このステップでは、データを配置する場所を選択します。Databricksには、データを整理するための3つの階層から成る名前空間(catalog.schema.table
)があります。この演習では、ワークスペースにちなんで名付けられたデフォルトのカタログにデータをインポートします。
Databricksワークスペースのサイドバーで、[新規]、[データを追加] の順にクリックします。
[Amazon S3] をクリックします。
ドロップダウンメニューから外部ロケーションを選択します。
Databricksカタログに追加するすべてのファイルを選択します。
[テーブルをプレビュー] をクリックします。
デフォルトのカタログ(ワークスペースにちなんだ名前を適用)とデフォルトのスキーマを選択し、テーブルの名前を入力します。
[テーブルを作成] をクリックします。
これで、ワークスペースのカタログエクスプローラを使用してDatabricks内のデータを確認できるようになりました。
ステップ 5:ワークスペースにユーザーを追加する
実行中のコンピュートリソース、データへの接続、およびプラットフォーム内のデータが準備できたので、アカウントにさらにユーザーを追加することができます。
これらの手順では、アカウントとワークスペースに個々のユーザーを追加する方法を説明します。
Databricksワークスペースの上部のバーでユーザー名をクリックし、[設定] をクリックします。
サイドバーで [IDとアクセス] をクリックします。
[ユーザー] の横にある [管理] をクリックします。
[ユーザーを追加] をクリックし、[新規追加] をクリックします。
ユーザーのメールアドレスを入力し、[追加] をクリックします。
引き続き、ユーザーをアカウントに追加します。人数に制限はありません。新規ユーザーには、アカウントの設定を促すEメールが送信されます。
ステップ 6:ユーザーに権限を付与する
アカウントにユーザーを加えたので、それのユーザーが必要とするデータやリソースへのアクセス権限を付与する必要があります。これを実行する方法は多数ありますが、どの方法が望ましいかは、お客様がお持ちのデータガバナンス戦略によって異なります。
ユーザーの権限を設定する際に考慮すべき一般的な事項は次のとおりです。
Databricksのセキュリティ保護可能なオブジェクトは階層構造で、権限は上位から下位に継承されます。例えば、カタログまたはスキーマに対する
SELECT
権限を付与すると、カタログまたはスキーマ内の現在および将来のすべてのオブジェクトにその権限が自動的に付与されます。スキーマまたはテーブルに対する
SELECT
権限をユーザーに付与すると、そのユーザーにはスキーマまたはテーブルの上にあるオブジェクトに対するUSE
権限も必要になります。外部データソースに接続する権限を他のユーザーに付与する場合は、
CREATE EXTERNAL LOCATION
権限とCREATE STORAGE CREDENTIAL
権限を付与できます。
Databricksでの権限管理の手順については、「Unity Catalog権限とセキュリティ保護可能なオブジェクト」を参照してください。