Databricks のコンセプト

この記事では、Databricks を効果的に使用するために理解する必要がある一連の基本概念をご紹介します。

アカウントとワークスペース

Databricks において、ワークスペースはクラウド内の Databricks デプロイメントであり、チームが Databricks アセットにアクセスするための環境として機能します。組織は、ニーズに応じて、複数のワークスペースを使用するか、ワークスペースを 1 つだけ使用するかを選択できます。

Databricks アカウントは、複数のワークスペースを含めることができる単一のエンティティです。Unity Catalog が有効なアカウントであれば、アカウント内のすべてのワークスペースにわたって、ユーザーとデータへのアクセスを一元的に管理できます。請求とサポートもアカウントレベルで処理されます。

請求:Databricks ユニット(DBU)

Databricks の請求は、Databricks ユニット(DBU)、つまり VM インスタンスタイプに基づく 1 時間あたりの処理能力の単位に基づきます。

Databricks on AWS の料金見積もり」を参照してください。

認証と承認

このセクションでは、Databricks ID と Databricks アセットへのアクセスを管理するときに知っておく必要がある概念について説明します。

ユーザー

システムにアクセスできる一意の個人を指します。ユーザー ID は E メールアドレスで表されます。「ユーザーの管理」を参照してください。

サービスプリンシパル

スクリプト、アプリ、CI/CD プラットフォームなど、ジョブ、自動化ツール、システムで使用するサービス ID を指します。サービスプリンシパルはアプリケーション ID によって表されます。「サービスプリンシパルを管理する」を参照してください。

グループ

ID のコレクションを指します。グループは、ワークスペース、データ、およびその他のセキュリティ保護可能なオブジェクトへのアクセスの割り当てを容易にすることで、ID 管理を簡素化します。すべての Databricks ID をグループのメンバーとして割り当てることができます。「グループの管理」を参照してください。

アクセス制御リスト(ACL)

ワークスペース、クラスター、ジョブ、テーブル、またはエクスペリメントに関連付けられた権限のリスト。 ACL は、どのユーザーまたはシステム プロセスにオブジェクトへのアクセスを許可するか、また資産に対してどのような操作を許可するかを指定します。 一般的な ACL の各エントリは、サブジェクトと操作を指定します。 「アクセス制御リスト」を参照してください。

パーソナルアクセストークン

不透明な文字列は、REST API に対する認証と、 技術パートナー 内のツールによる SQLウェアハウスへの接続に使用されます。 「Databricks 個人用アクセストークン認証」を参照してください。

UI

Databricks UI は、ワークスペースフォルダとそれに含まれるオブジェクト、データオブジェクト、コンピューティングリソースなどの機能を操作するためのグラフィカルインターフェイスです。

データサイエンスとエンジニアリング

データサイエンスとエンジニアリングツールは、データサイエンティスト、データエンジニア、データアナリスト間のコラボレーションを支援します。このセクションでは、基本的な概念について説明します。

ワークスペース

ワークスペース は、すべての Databricks 資産にアクセスするための環境です。ワークスペースは、オブジェクト (ノートブック、ライブラリ、ダッシュボード、エクスペリメント) を フォルダー に整理し、データ オブジェクトとコンピューティング リソースへのアクセスを提供します。

ノートブック

実行可能なコマンド、ビジュアライゼーション、説明テキストを含めることができるデータサイエンスおよび機械学習のワークフローを作成するための Web ベースのインターフェイスです。「Databricks ノートブック入門」を参照してください。

ダッシュボード

ビジュアライゼーションへの体系的なアクセスを提供するインターフェイスです。「ノートブックのダッシュボード」を参照してください。

ライブラリ

クラスター上で実行されるノートブックまたはジョブで使用できるコードのパッケージを指します。Databricks ランタイムには多くのライブラリが含まれており、独自のライブラリを追加できます。

Git フォルダー (以前の Repos)

コンテンツをリモート Git リポジトリに同期することによって、一緒にバージョン管理されるフォルダー。 Databricks Git フォルダーはGit と統合され、プロジェクトのソースとバージョン管理を提供します。

エクスペリメント

機械学習モデルをトレーニングするための MLflow ランのコレクションを指します。「MLflow エクスペリメントを使用してトレーニングの実行を整理する」を参照してください。

Databricks インターフェイス

このセクションでは、UI に加えて、アセットにアクセスするために Databricks がサポートしているインターフェイス(API およびコマンドライン(CLI))について説明します。

REST API

Databricks は、ワークスペースアカウントの API ドキュメントを提供しています。

CLI

Databricks CLI は、GitHub でホストされているオープンソースプロジェクトです。CLI は Databricks REST API をベースに構築されています。

データ管理

このセクションでは、分析を実行し、機械学習アルゴリズムにフィードするデータを保持するオブジェクトについて説明します。

Databricks ファイルシステム(DBFS)

ブロッブ ストア上のファイルシステム抽象化レイヤー。 これには、ファイル (データ ファイル、ライブラリ、およびイメージ) やその他のディレクトリを含むことができるディレクトリが含まれています。 DBFS には、Databricks の学習に使用できるいくつかの データセット が自動的に設定されます。 「 Databricks ファイル システム (DBFS) とは」を参照してください。

データベース

テーブル、ビュー、関数などのデータ オブジェクトのコレクションで、簡単にアクセス、管理、および更新できるように編成されています。 「データベースとは」を参照してください。

テーブル

構造化データの表現。 テーブルを Apache Spark SQL と Apache Spark APIでクエリーします。 「 テーブルとは」を参照してください。

Delta テーブル

デフォルトでは、Databricks で作成されるすべてのテーブルが Delta テーブルです。Delta テーブルは、クラウドオブジェクトストア上の高性能 ACID テーブルストレージのフレームワークである Delta Lake オープンソースプロジェクトに基づいています。Delta テーブルは、データをクラウドオブジェクトストレージ上のファイルのディレクトリとして保存し、テーブルのメタデータをカタログおよびスキーマ内のメタストアに登録します。

Delta としてブランド化されたテクノロジーの詳細をご覧ください。

メタストア

列と列の型の情報、データの読み取りと書き込みに必要なシリアライザーとデシリアライザー、データが格納されている対応するファイルなど、データウェアハウス内のさまざまなテーブルとパーティションのすべての構造情報を格納するコンポーネント。 「メタストアとは」を参照してください。

すべての Databricks デプロイメントには、テーブルメタデータを永続化するためにすべてのクラスターからアクセスできる中央 Hive メタストアがあります。既存の外部 Hive メタストアを使用するオプションもあります。

ビジュアライゼーション

クエリーの実行結果をグラフィカルに表示したものを指します。「Databricks ノートブックにおけるビジュアライゼーション」を参照してください。

コンピューティング管理

このセクションでは、Databricks で計算を実行するために知っておく必要がある概念について説明します。

クラスター

ノートブックとジョブを実行するための一連の計算リソースと構成。 クラスターには、汎用クラスターとジョブクラスターの 2 種類があります。 「 コンピュート」を参照してください。

  • All-Purpose クラスターは、UI、CLI、または REST API を使用して作成します。All-Purpose クラスターは手動で終了と再起動ができます。複数のユーザーでクラスターを共有し、共同でインタラクティブ分析を行えます。

  • Databricks ジョブスケジューラは、新しいジョブクラスタージョブを実行したときにジョブクラスターを作成し、ジョブが完了したときにそのクラスターを終了します。ジョブクラスターを再起動することはできません

プール

クラスターの起動時間と自動スケーリング時間を短縮する、アイドル状態ですぐに使用できるインスタンスのセット。 プールに接続されると、クラスターはドライバー ノードとワーカー ノードをプールから割り当てます。 「プール構成リファレンス」を参照してください。

クラスターの要求に対応するのに十分なアイドルリソースがプールにない場合、インスタンスプロバイダーから新しいインスタンスを割り当ててプールを拡張します。アタッチされたクラスターが終了すると、使用していたインスタンスはプールに戻され、別のクラスターで再利用できます。

Databricks Runtime

Databricks によって管理されるクラスターで実行されるコア コンポーネントのセット。 「 コンピュート」を参照してください。 Databricks には、次のランタイムがあります。

  • Databricks Runtime には、Apache Spark はもちろん、ビッグデータ分析の操作性やパフォーマンス、セキュリティなどを大幅に向上させるコンポーネントや更新プログラムも数多く追加されています。

  • 機械学習用Databricks Runtime は Databricks Runtime 上に構築されており、Databricks ワークスペースのすべての機能と統合された事前構築済みの機械学習インフラストラクチャを提供します。これには、TensorFlow、Keras、PyTorch、XGBoostなど、複数の一般的なライブラリが含まれています。

ワークフロー

データ処理パイプラインを開発および実行するためのフレームワーク:

  • ジョブ: ノートブックまたはライブラリをすぐに、またはスケジュールに基づいて実行するための非対話型メカニズム。

  • Delta Live Tables:信頼性が高く、保守可能で、テスト可能なデータ処理パイプラインを構築するためのフレームワーク。

Databricks ワークフロー入門」を参照してください。

ワークロード

Databricks では、異なる料金体系の対象となる 2 種類のワークロード、データエンジニアリング(ジョブ)とデータ分析(All-Purpose)が識別されます。

  • データエンジニアリング:Databricks のジョブスケジューラがワークロードごとに作成する、ジョブクラスター上で実行される(自動化された)ワークロード。

  • データ分析All-Purpose クラスター上で実行される(対話型)ワークロード。通常、対話型ワークロードは Databricks ノートブック内でコマンドを実行します。ただし、既存の All-Purpose クラスター上でのジョブの実行も対話型ワークロードとして扱われます。

実行コンテキスト

サポートされている各プログラミング言語の読み取り-評価-印刷ループ(REPL)環境の状態を指します。サポートされている言語は、Python、R、Scala、SQL です。

機械学習

Databricks 上での機械学習は、エクスペリメントの追跡、モデルのトレーニング、特徴量の開発と管理、特徴量とモデルのサービングのためのマネージドサービスを組み込んだ、統合されたエンドツーエンド環境です。

エクスペリメント

機械学習モデル開発を追跡するための主要な組織単位を指します。「MLflow エクスペリメントを使用してトレーニングの実行を整理する」を参照してください。エクスペリメントは、モデルトレーニングコードの記録された個々の実行を整理し、表示し、アクセスを制御します。

Feature Store

特徴量の一元化されたリポジトリです。 「 Feature Storeとは」を参照してください。 Feature Store を使用すると、組織全体で特徴量の共有と検出が可能になり、モデルのトレーニングと推論に同じ特徴計算コードが使用されるようになります。

SQL

SQL REST API

SQL オブジェクトのタスクを自動化するインターフェースです。「SQL API」を参照してください。

ダッシュボード

データの視覚化と解説のプレゼンテーション。 「 ダッシュボード」を参照してください。 レガシーダッシュボードについては、「 レガシーダッシュボード」を参照してください。

SQL クエリー

このセクションでは、Databricks で SQL クエリーを実行するために知っておく必要がある概念について説明します。