Scala 開発者向け Azure Databricks

この記事では、Scala 言語を使用して Azure Databricks でノートブックおよびジョブを開発するためのガイドを提供します。 最初のセクションでは、一般的なワークフローとタスクのチュートリアルへのリンクを示します。 2 番目のセクションでは、API、ライブラリ、および主要なツールへのリンクを示します。

作業を開始するための基本的なワークフローは次のとおりです。

これ以外にも、より具体的なトピックに分けることができます。

チュートリアル

以下のチュートリアルでは、一般的なワークフローについて学習するためのコードとノートブックの例を示します。 ノートブックの例をワークスペースにインポートする手順については、「ノートブックをインポートする」を参照してください。

リファレンス

以下のサブセクションでは、Scala を使用して Azure Databricks での開発を開始するのに役立つ主な機能とヒントを示します。

Scala API

これらのリンクは、Apache Spark Scala API の概要とリファレンスを提供しています。

ノートブックと Databricks Git フォルダーを使用してコードを管理する

Databricks ノートブックでは Scala がサポートされています。 これらのノートブックは Jupyter と同様の機能を提供しますが、ビッグ データを使用した組み込みの視覚化、デバッグとパフォーマンス監視のための Apache Spark 統合、機械学習の実験を追跡するための MLflow 統合などの機能が追加されています。 ノートブックをインポートして開始します。 クラスターにアクセスしたら、クラスターにノートブックをアタッチし、ノートブックを実行できます。

ヒント

ノートブックの状態を完全にリセットするには、カーネルを再起動すると便利です。 Jupyter ユーザーの場合、Jupyter の "カーネルの再起動" オプションは、Databricks でのノートブックのデタッチと再アタッチに対応します。 ノートブックでカーネルを再起動するには、ノートブック ツール バーでコンピューティング セレクターをクリックし、一覧内のアタッチされたクラスターまたは SQL ウェアハウスの上にマウス ポインターを合わせてサイド メニューを表示します。 [デタッチして再アタッチ] を選択します。 これにより、クラスターからノートブックがデタッチされ、再アタッチされ、プロセスが再起動されます。

Databricks Git フォルダーを使用すると、ユーザーはノートブックやその他のファイルを Git リポジトリと同期できます。 Databricks Git フォルダーは、コードのバージョン管理とコラボレーションに役立ちます。これにより、コードの完全なリポジトリを Azure Databricks にインポートしたり、過去のノートブック バージョンを表示したり、IDE 開発と統合したりするのが簡単になります。 リモート Git リポジトリを複製して開始します。 その後、リポジトリ クローンを使用してノートブックを開くか作成し、クラスターにそのノートブックをアタッチして、ノートブックを実行できます。

クラスターとライブラリ

Azure Databricks コンピューティングでは、単一ノード クラスターから大規模なクラスターまで、あらゆるサイズのクラスターのコンピューティング管理が提供されます。 クラスターのハードウェアとライブラリは、ニーズに応じてカスタマイズできます。 通常、データ サイエンティストは、クラスターを作成するか、既存の共有クラスターを使用して作業を開始します。 クラスターにアクセスしたら、クラスターにノートブックをアタッチするか、クラスターでジョブを実行できます。

Azure Databricks クラスターは Databricks ランタイムを使用します。このランタイムには、Apache Spark、Delta Lake など、多くの一般的なライブラリがすぐに使えるように用意されています。 サードパーティ製やカスタムのライブラリを追加でインストールして、ノートブックやジョブで使用することもできます。

視覚化

Azure Databricks Scala ノートブックには、さまざまな種類の視覚化のサポートが組み込まれています。 レガシ視覚化を使用することもできます。

相互運用性

このセクションでは、Scala と SQL との相互運用性をサポートする機能について説明します。

ジョブ

Azure Databricks では、スケジュールされたジョブまたはトリガーされたジョブとして Scala ワークロードを自動化できます。 ジョブでは、ノートブックと JAR を実行できます。

  • UI を使用したジョブの作成の詳細については、「ジョブの作成」を参照してください。
  • Databricks SDK を使用すると、プログラムを使用してジョブを作成、編集、削除できます。
  • Databricks CLI には、ジョブを自動化するための便利なコマンド ライン インターフェイスが用意されています。

IDE、開発者ツール、SDK

Azure Databricks ノートブック内で Scala コードを開発するだけでなく、IntelliJ IDEA などの統合開発環境 (IDE) を使用して外部で開発することもできます。 外部開発環境と Azure Databricks の間で作業を同期するには、いくつかのオプションがあります。

  • コード: Git を使用してコードを同期できます。 Git と Databricks Git フォルダーの統合に関する記事を参照してください。
  • ライブラリとジョブ: 外部でライブラリを作成し、Azure Databricks にアップロードできます。 これらのライブラリは、Azure Databricks ノートブック内にインポートすることも、ジョブの作成に使用することもできます。 「ライブラリ」および「Azure Databricks ジョブを作成して実行する」を参照してください。
  • リモート マシンの実行: ローカル IDE からコードを実行して、対話型の開発とテストを行うことができます。 IDE は Azure Databricks と通信して、Azure Databricks クラスターで大規模な計算を実行できます。 たとえば、Databricks Connect と共に IntelliJ IDEA を使用できます。

Databricks には、自動化および外部ツールとの統合をサポートする SDK のセットが用意されています。 Databricks SDK を使用して、クラスターやライブラリ、コードやその他のワークスペース オブジェクト、ワークロードやジョブなどのリソースを管理できます。 「Databricks SDK」を参照してください。

IDE、開発者ツール、SDK の詳細については、「開発者ツールとガイダンス」を参照してください。

その他の技術情報

  • Databricks Academy では、多くのトピックに関する自己ペースで講師主導のコースを提供しています。