Scala 開発者向けの Databricks
この記事では、Scala 言語を使用して Databricks でノートブックとジョブを開発するためのガイドを提供します。 最初のセクションでは、一般的なワークフローとタスクのチュートリアルへのリンクを示します。 2 番目のセクションでは、 APIs、ライブラリ、および主要なツールへのリンクを示します。
開始するための基本的なワークフローは次のとおりです。
インタラクティブな Databricks ノートブックを使用してコードをインポートし、実行します。ファイルまたは Git リポジトリから独自のコードをインポートするか、以下にリストされているチュートリアルを試してください。
クラスターでコードを実行する: 独自のクラスターを作成するか、共有クラスターを使用するアクセス許可があることを確認します。 ノートブックをクラスターにアタッチし、ノートブックを実行します。
さらに、より具体的なトピックに分岐できます。
Apache Spark を使用した大規模なデータ セットの操作
チュートリアル
以下のチュートリアルでは、一般的なワークフローについて学習するためのサンプル コードとノートブックを提供します。 ノートブックの例をワークスペースにインポートする手順については、「 ノートブックのインポート 」を参照してください。
チュートリアル: Delta Lake では、Scala の例を紹介します。
クイックスタート Java と Scala は、Scala の MLflow を使用した機械学習トレーニングの実行の追跡の基本を学習するのに役立ちます。
Databricks で XGBoost を使用する には、Scala の例が用意されています。
参考
以下のサブセクションでは、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 Runtimeリリースノートのバージョンと互換性のデフォルトライブラリから始めます。プレインストールされているライブラリの完全な一覧については、「 Databricks Runtime リリースノートのバージョンと互換性」を参照してください。
Scala ライブラリをクラスターにインストールすることもできます。
詳細については、「 ライブラリ」を参照してください。
ビジュアライゼーション
Databricks Scala ノートブックでは、さまざまな種類の ビジュアライゼーションが組み込まれています。従来のビジュアライゼーションを使用することもできます。
ジョブ
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 アカデミー では、多くのトピックに関する自習型およびインストラクター主導のコースを提供しています。