Azure Databricks の概念

この記事では、Azure Databricks ワークスペースを効果的に使用するために理解する必要がある一連の基本的な概念について紹介します。

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

Azure Databricks では、"ワークスペース" はクラウド内の Azure Databricks デプロイであり、チームが Databricks 資産にアクセスするための環境として機能します。 組織は、ニーズに応じて、保持するワークスペースを複数にするか 1 つのみにするか選べます。

Azure Databricks "アカウント" は、複数のワークスペースを含めることができる 1 つのエンティティを表します。 Unity Catalog に対して有効になっているアカウントを使用すると、アカウント内のすべてのワークスペースでユーザーと各自のデータへのアクセス権を一元的に管理できます。

課金: Databricks のユニット (DBU)

Azure Databricks の課金は、VM インスタンスの種類に基づく 1 時間あたりの処理能力の単位である Databricks ユニット (DBU) に基づいています。

Azure Databricks の価格に関するページを参照してください。

認証と権限承認

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

User

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

サービス プリンシパル

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

Group

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

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

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

個人用アクセス トークン

SQL ウェアハウスに接続するために、REST API や、「テクノロジ パートナー」に記載されているツールによる認証で、不透明な文字列が使用されます。 「Azure Databricks 個人用アクセス トークン認証」をご覧ください。

Microsoft Entra ID (旧称 Azure Active Directory) トークンを使って、REST API に対する認証を行うこともできます。

UI

Azure Databricks UI は、ワークスペース フォルダーとそこに格納されているオブジェクト、データ オブジェクト、計算リソースなどの機能を操作するためグラフィカル インターフェイスです。

Data Science & Engineering

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

ワークスペース

ワークスペースは、すべての Azure Databricks アセットにアクセスするための環境です。 ワークスペースでは、オブジェクト (ノートブック、ライブラリ、ダッシュボード、実験) がフォルダーに整理され、データ オブジェクトおよび計算リソースへのアクセスが提供されます。

ノートブック

実行可能なコマンド、視覚化、説明テキストを含めることができる、データ サイエンスと機械学習のワークフローを作成するための Web ベースのインターフェイス。 「Databricks ノートブックの概要」を参照してください。

ダッシュボード

視覚化への整理されたアクセスを提供するインターフェイス。 「ノートブック内のダッシュボード」を参照してください。

ライブラリ

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

リポジトリ

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

実験

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

Azure Databricks のインターフェイス

このセクションでは、UI の以外に、資産にアクセスするために Azure Databricks でサポートされているインターフェイス (API とコマンド ライン (CLI)) について説明します。

REST API

Databricks には、ワークスペースアカウントに関する API ドキュメントが用意されています。

CLI

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

データ管理

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

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

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

Database

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

テーブル

構造化データの表現。 Apache Spark SQL および Apache Spark API を使用してテーブルに対してクエリを実行します。 「テーブルとは」参照してください

Delta テーブル

既定では、Azure Databricks で作成されたテーブルはすべて Delta テーブルです。 Delta テーブルは Delta Lake オープンソース プロジェクトに基づいており、クラウド オブジェクト ストア上のハイ パフォーマンスな ACID テーブル ストレージ用のフレームワークです。 Delta テーブルは、クラウド オブジェクト ストレージ上のファイルのディレクトリとしてデータを格納し、カタログとスキーマ内のメタストアにテーブル メタデータを登録します。

Delta としてブランド化されたテクノロジに関する詳細を確認してください。

メタストア

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

それぞれの Azure Databricks デプロイには、テーブル メタデータを保持するためにすべてのクラスターからアクセス可能な中央の Hive メタストアがあります。 既存の外部 Hive メタストアを使用することもできます。

グラフ

クエリの実行結果のグラフィカルな表示。 「Azure Databricks ノートブックでの視覚化」を参照してください。

計算管理

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

クラスター

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

  • "汎用クラスター" は UI、CLI、または REST API を使用して作成します。 汎用クラスターは手動で終了および再起動できます。 複数のユーザーでこのようなクラスターを共有して、共同作業による対話型分析を行うことができます。
  • Azure Databricks ジョブ スケジューラーでは、ユーザーが "新しいジョブ クラスター" でジョブを実行すると "ジョブ クラスター" が作成され、ジョブが完了するとクラスターが終了します。 ジョブ クラスターを再起動することは "できません"。

プール

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

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

Databricks ランタイム

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

  • Databricks Runtime には Apache Spark が含まれていますが、ビッグ データ分析の使いやすさ、パフォーマンス、セキュリティを大幅に向上させる多くのコンポーネントと更新プログラムも追加されています。
  • Databricks Runtime for Machine Learning は Databricks Runtime 上に構築されており、Azure Databricks ワークスペースのすべての機能と統合された事前構築済みの機械学習インフラストラクチャを提供します。 TensorFlow、Keras、PyTorch、XGBoost など、複数の一般的なライブラリが含まれています。

Workflows

データ処理パイプラインを開発して実行するフレームワーク:

  • ジョブ: ノートブックまたはライブラリをすぐにまたはスケジュールに基づいて実行するための非対話型メカニズム。
  • Delta Live Tables: 信頼性が高く、保守が容易で、テスト可能なデータ処理パイプラインを構築するためのフレームワーク。

Azure Databricks ワークフローの概要」を参照してください。

ワークロード

Azure Databricks では、異なる価格スキームの対象となる 2 種類のワークロード (Data Engineering (ジョブ) と Data Analytics (汎用)) が識別されます。

  • Data Engineering (自動化された) ワークロードは、各ワークロード用に Azure Databricks ジョブ スケジューラにより作成される "ジョブ クラスター" で実行されます。
  • Data Analytics (対話型) ワークロードは、"汎用クラスター" で実行されます。 対話型ワークロードは、通常、Azure Databricks ノートブック内でコマンドを実行します。 ただし、"既存の汎用" クラスターで "ジョブ" を実行する場合も、対話型ワークロードとして扱われます。

実行コンテキスト

サポートされている各プログラミング言語の read–eval–print loop (REPL) 環境の状態。 サポートされている言語は、Python、R、Scala、SQL です。

機械学習

Azure Databricks 上の Machine Learning は、統合されたエンドツーエンド環境であり、実験の追跡、モデルのトレーニング、特徴の開発と管理、および特徴とモデルの提供を行うための管理サービスが組み込まれています。

実験

機械学習モデルの開発を追跡するための組織のメイン ユニット。 「MLflow 実験を使用してトレーニング実行を整理する」を参照してください。 実験では、モデル トレーニング コードのログに記録された個々の実行へのアクセスを整理、表示、制御します。

Feature Store

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

モデルおよびモデル レジストリ

モデル レジストリに登録されているトレーニング済みの機械学習モデルまたはディープ ラーニング モデル

SQL

SQL REST API

SQL オブジェクトに対するタスクを自動化できるようにするためのインターフェイス。 SQL API に関するページを参照してください。

ダッシュボード

データの可視化と解説の提示。 「Databricks SQL ダッシュボード」を参照してください。

SQL クエリ

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