Databricksのパーソナルコンピュートによるオーバーヘッドの削減、作業の迅速なスタート

[Reduce Overhead and Get Straight to Work With Personal Compute in Databricks \- The Databricks Blog](https://www.databricks.com/blog/2022/10/11/reduce-overhead-and-get-straight-work-personal-compute-databricks.html)の翻訳です。

:::note warn
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
:::

# 計算資源の管理ではなく作業に集中しましょう

Databricksのレイクハウスによって、企業はデータ、分析、AIワークロードのすべてを単一の統合プラットフォームを活用できる様になります。これらのプロジェクトは多くの場合、迅速なイテレーションのために、ラップトップや個人用の仮想マシンにコピーされたデータからスタートすることが多いのですが、十分な成熟度に到達した、あるいは、プロダクションに移行する際には、実践者は多くのケースにおいて、苦痛となる正式なインフラストラクチャへの移行作業を行わなくてはなりません。

本日、我々は今週AWSとAzureでロールアウトされるDatabricksの**パーソナルコンピュート**を発表できることを嬉しく思っています。パーソナルコンピュートは、管理者には安心して維持管理するためのアクセスとインフラストラクチャのコントロールを提供しながらも、ユーザーにはDatabricksで開発のスタートから終了までのクイックかつシンプルなパスを提供します。パーソナルコンピュートを用いることで、以下のことが可能となります。

- ユーザーはSparkと他のデータサイエンス、機械学習ライブラリを含む適度なサイズのシングルマシンのCPU、GPUリソースを作成でき、Databricksで容易に作業を開始し、進めることができるので、複雑な設定や移行作業を行うことなしに、ご自身の作業にフォーカスすることができます。
- 管理者は、Databricksが提供する統治されたサンドボックスからセンシティブなデータが漏洩することがないことを知って安心して眠ることができます。

データネイティブな開発のためにDatabricksノートブック、管理されたファイルストレージのためのワークスペース、バージョンコントロールのためのReposとパーソナルコンピュートを組み合わせることで、Databricksはユーザーのラップトップと同じ様な体験を完全にホストされた開発体験で提供し、小規模な日々の作業から大規模Sparkクラスターにおけるビッグデータワークロードにシームレスにスケールすることができます。

# パーソナルコンピュートを使う

アクセスが許可されると、ユーザーはコンピュートページやDatabricksノートブックを通じてパーソナルコンピュートを作成することができます[[AWS](https://docs.databricks.com/clusters/personal-compute.html)、[Azure](https://learn.microsoft.com/en-us/azure/databricks/clusters/personal-compute)]。これらのリソースは、Unity Catalogとの互換性があるシングルマシン、all-purpose計算リソースであり、CPUやGPUを利用でき、最新のDatabricks機械学習ランタイム(MLR)を使用します。

## コンピュートページからパーソナルコンピュートを使う

「コンピュート」ページには、パーソナルコンピュートのリソースを作成する新たなショートカットボタンが含まれる様になります。これによって、パーソナルコンピュート資源を作成し、「コンピュート」ページからユーザーは2つのステップでパーソナルコンピュートリソースを作成することができます。

**リンクをクリックすると新規タブで動画が再生されます**

https://player.vimeo.com/video/757773909?h=30b0f9207a&version=hd1080

1. ページ上部の「Create with Personal Compute」クリックします。これによって、上部に表示されるポリシーとしてPersonal Computeが選択された状態でクラスター設定ダイアログがオープンします。
1. ダイアログの下部の「Create Cluster」をクリックします。

また、従来からある「コンピュート」ページ上部の「Create Cluster」をクリックするパスを用い、ポリシードロップダウンからPersonal Computeポリシーを選択することもできます。パーソナルコンピュートのリソースが起動すると利用できる様になります。

## ノートブックからパーソナルコンピュートを使う

ユーザーは、ノートブックから3ステップでパーソナルコンピュートを作成することもできます。

**リンクをクリックすると新規タブで動画が再生されます**

https://player.vimeo.com/video/757773895?h=1976cea531&version=hd1080

1. ノートブックの右上で、「Connect」ボタンをクリックします。
1. ドロップダウンの下の「Create new resource…」を選択します。これによって、Personal Computeポリシーをデフォルト設定としているダイアログがオープンします。
1. 「Create」をクリックします。

ユーザーは、リソース名、インスタンスタイプ、ランタイムのバージョン、そして、管理者によるポリシーによって必要とされる他のフィールドを設定することができます。パーソナルコンピュートのリソースが稼働すると、自動でノートブックが接続されます。他のクラスターと同様にパーソナルコンピュートのリソースはリソースを作成したノートブックに限定されず、Databricksで行う作業を通じて利用することができます。

# 管理者としてパーソナルコンピュートを管理する

また、我々はパーソナルコンピュートがどのようにしてDatabricksにおける計算資源のアクセスと管理を劇的にシンプルにするのかに関して非常に興奮しています。現在、Databricksにおける多くのワークフローは何かしらの形の計算資源管理の形態を通じたものであり、これは、ユーザーの作業のフォーカスとは分断された大きなオーバーヘッドとなっています。また、これはコストをコントロールするために、ユーザーによって作成された計算資源を監視する際に必要となる管理者の管理負荷を増大させます。パーソナルコンピュートを用いることで、管理者はユーザーに対して、ガードレールを伴うラップトップのような計算資源を作成する直接のパスを提供することができ、ユーザーは成し遂げたい作業にフォーカスすることができます。

パーソナルコンピュートにアクセスできるユーザーは、以下のプロパティを持つ計算資源を作成することができます。

- パーソナルコンピュートのリソースは**all-purposeコンピュート**リソースです(価格はall-purposeの計算資源のプライシングに準拠します[[AWS](https://www.databricks.com/jp/product/aws-pricing)、[Azure](https://azure.microsoft.com/ja-jp/pricing/details/databricks/)、[GCP](https://www.databricks.com/jp/product/gcp-pricing)])。
- パーソナルコンピュートのリソースは**シングルノードのクラスター**です[[AWS](https://docs.databricks.com/clusters/single-node.html)、[Azure](https://learn.microsoft.com/en-us/azure/databricks/clusters/single-node)、[GCP](https://docs.gcp.databricks.com/clusters/single-node.html)](すなわち、ワーカーを持たない「クラスター」であり、ローカルモードでSparkが動作します)。
- これらは**single user**クラスターアクセスモード[[AWS](https://docs.databricks.com/data-governance/unity-catalog/compute.html#access-mode)、[Azure](https://learn.microsoft.com/en-us/azure/databricks/data-governance/unity-catalog/compute#--what-is-cluster-access-mode)、GCPは間も無く提供]であり、Unity Catalogとの互換性があり、作成者によってのみアクセスすることができます。
- 最新バージョンのDatabricks機械学習ランタイム[[AWS](https://docs.databricks.com/runtime/mlruntime.html)、[Azure](https://learn.microsoft.com/en-us/azure/databricks/runtime/mlruntime)、[GCP](https://docs.gcp.databricks.com/runtime/mlruntime.html)]を使用します。
- **標準インスタンス**あるいは**GPU有効化インスタンス**を使用することができます。

また、パーソナルコンピュートでは自動停止[[AWS](https://docs.databricks.com/clusters/clusters-manage.html#automatic-termination-1)、[Azure](https://learn.microsoft.com/en-us/azure/databricks/clusters/clusters-manage#automatic-termination)、[GCP](https://docs.gcp.databricks.com/clusters/clusters-manage.html#automatic-termination-1)]を利用することができますが、デフォルトでは無効化されています。

## パーソナルコンピュートポリシーへのアクセスを制御する

ワークスペース管理者はクラスターポリシーのUI[[AWS](https://docs.databricks.com/administration-guide/clusters/policies.html#manage-policy)、[Azure](https://learn.microsoft.com/en-us/azure/databricks/administration-guide/clusters/policies#manage-cluster-policy-permissions)]を用いて個々のワークスペースにおけるパーソナルコンピュートのポリシーへのアクセス権を管理することができ、当該ワークスペースにおけるそれぞれのユーザーやグループをポリシーACLに追加できる様になります。
![](https://cms.databricks.com/sites/default/files/inline-images/db-376-blog-img-1.png)
*個々のワークスペースのパーソナルコンピュートポリシーのACLにユーザーやグループを追加することができます*

さらに、アカウント管理者は、パーソナルコンピュートのアカウント設定を用いることで、お使いのアカウントのすべてのユーザーに対してパーソナルコンピュートのポリシーへのアクセスを有効、無効化することができます。

:::note
**注意**
これは初期段階では**AWS**でのみ利用できます。向こう数ヶ月でAzureにも追加されます。
:::

**リンクをクリックすると新規タブで動画が再生されます**

https://player.vimeo.com/video/757773877?h=c9617e98f9&version=hd1080

1. アカウントコンソールで「Settings」をクリックします。
1. 「Feature enablement」タブをクリックします。
1. アカウントの全ユーザーのパーソナルコンピュートポリシーへのアクセスを有効化します。あるいは、ポリシーをワークスペースレベルで管理したい場合には「Delegate」にスイッチします(上の動画)。

パーソナルコンピュートの設定のデフォルト値は**ON**になっています。初期のロールアウトにおいては、アカウント管理者はシステムが設定を読み込む前にスイッチを**ON**か**OFF**にするか、ポリシーへのアカウント規模のアクセスを決定することができます。

## ユーザー向けにパーソナルコンピュートをカスタマイズする

パーソナルコンピュートのデフォルトポリシーは、特定のプロパティを上書きすることでカスタマイズ可能です[[AWS](https://docs.databricks.com/administration-guide/clusters/personal-compute.html)、[Azure](https://learn.microsoft.com/en-us/azure/databricks/administration-guide/clusters/personal-compute)]。従来のクラスターポリシーと異なり、パーソナルコンピュートにはDatabricksによって定められた以下のプロパティがあります。

- コンピュートタイプは常に「all-purpose」コンピュートなので、パーソナルコンピュートは「all-purpose」のSKUで課金されます。
- コンピュートモードは「single-node」に固定されます。
- アクセスモードはリソース作成者がユーザーである「シングルユーザー」に固定されます。

ワークスペースのパーソナルコンピュートポリシーをカスタマイズするに、ワークスペース管理者は以下のステップを実行します。

1. サイドバーの「コンピュート」をクリックし「コンピュート」ページに移動します。
1. 「クラスターポリシー」タブをクリックします。
1. Personal Computeポリシーを選択し、Personal Computeポリシーの詳細を開きます。
1. 詳細ページ上部の「Edit」ボタンをクリックします。
1. 「定義」タブで「Edit」ボタンをクリックします。
1. 定義を上書きできるモーダルが表示されます。「Overrides」セクションに更新したい定義[[AWS](https://docs.databricks.com/administration-guide/clusters/policies.html#cluster-policy-definitions)、[Azure](https://learn.microsoft.com/en-us/azure/databricks/administration-guide/clusters/policies#--cluster-policy-definitions)]を追加します。「OK」をクリックします。

# 現在のロールアウト状況、次に来るもの

2022年10月10日の週以降、パーソナルコンピュートのデフォルトポリシーが、AWSにおけるすべてのプレミアム、エンタープライズプランのワークスペース、Azureにおけるすべてのプレミアムプランのワークスペースにロールアウトされます。**AWS**においては、パーソナルコンピュートへのアカウントレベルのアクセス設定が、デフォルト設定**ON**で同時にリリースされ、この設定値は**2022/11/16**以降に効果を発揮します。向こう数ヶ月でGCPでもパーソナルコンピュートを提供できることを楽しみにしており、同じ時間枠ですべてのクラウドにおけるアカウントレベルのアクセスコントロールのスイッチを提供する予定です。

### Databricks 無料トライアル

[Databricks 無料トライアル](https://databricks.com/jp/try-databricks)