Scala 開発者向けの Databricks

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

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

さらに、より具体的なトピックに分岐できます。

チュートリアル

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

参考

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

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

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

ヒント

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

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

クラスターとライブラリー

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

Databricks クラスターは、Apache Spark、Delta Lake など、すぐに使用できる多くの一般的なライブラリを提供する Databricks Runtimeを使用します。 また、ノートブックやジョブで使用する追加のサードパーティまたはカスタム ライブラリをインストールすることもできます。

ビジュアライゼーション

Databricks Scala ノートブックでは、さまざまな種類の ビジュアライゼーションが組み込まれています。従来のビジュアライゼーションを使用することもできます。

相互運用性

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

ジョブ

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

  • UI を使用したジョブの作成の詳細については、「 Databricks ジョブの構成と編集」を参照してください。

  • Databricks SDK を使用すると、プログラムでジョブを作成、編集、削除できます。

  • Databricks CLI には、ジョブを自動化するための便利なコマンド ライン インターフェイスが用意されています。

IDE、開発者ツール、SDK

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

  • コード: Git を使用してコードを同期できます。 「Databricks Git フォルダーの Git 統合」を参照してください。

  • ライブラリ and ジョブ: ライブラリを外部で作成し、 Databricksにアップロードできます。 これらのライブラリは、Databricks ノートブック内にインポートすることも、ジョブの作成に使用することもできます。 「ライブラリ」および「ワークフローのスケジュールとオーケストレーション」を参照してください。

  • リモートマシン実行: ローカルIDEからコードを実行して、インタラクティブな開発とテストを行うことができます。 IDE は Databricks と通信して、 Databricks クラスタで大規模な計算を実行できます。 たとえば、IntelliJ IDEA を Databricks Connect で使用できます。

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

IDEs、開発者ツール、SDK の詳細については、「開発者ツール」を参照してください。

関連リソース

  • Databricks アカデミー では、多くのトピックに関する自習型およびインストラクター主導のコースを提供しています。