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 と同様の機能を提供しますが、MB を使用した組み込みの視覚化、デバッグとパフォーマンス モニタリングのための Apache Spark 統合、機械学習エクスペリメントを追跡するための MLflow 統合などの追加があります。 まず、ノートブックをインポートします。クラスターにアクセスできるようになったら、ノートブックをクラスターに アタッチ して ノートブックを実行できます。
ヒント
ノートブックの状態を完全にリセットするには、カーネルを再起動すると便利な場合があります。 Jupyter ユーザーの場合、Jupyter の "カーネルの再起動" オプションは、Databricks でのノートブックのデタッチと再アタッチに対応します。 ノートブックでカーネルを再起動するには、ノートブック ツール バーの コンピュート セレクター をクリックし、リスト内のアタッチされたクラスターまたは SQLウェアハウスにカーソルを合わせてサイド メニューを表示します。 [ Detach & re-attach] を選択します。 これにより、ノートブックがクラスターからデタッチされて再アタッチされ、プロセスが再開されます。
Databricks Git フォルダーを使用すると、ユーザーはノートブックやその他のファイルを Git リポジトリと同期できます。 Databricks Git フォルダーはコードのバージョン管理とコラボレーションに役立ち、コードの完全なリポジトリの Databricks へのインポート、過去のノートブック バージョンの表示、IDE 開発との統合を簡素化できます。 まず、リモート Git リポジトリのクローンを作成します。 その後、リポジトリ クローンを使用してノートブックを開いたり作成したり、ノートブックをクラスターに接続して、ノートブックを実行したりできます。
クラスターとライブラリー
Databricksコンピュートは、単一ノード クラスターから大規模クラスターまで、あらゆるサイズのクラスターにコンピュート管理を提供します。 ニーズに応じてクラスターのハードウェアとライブラリをカスタマイズできます。 データサイエンティストは通常、クラスタを作成するか、既存の共有クラスタを使用して作業を開始します。 クラスターにアクセスできるようになると、クラスターにノートブックを接続したり、クラスター上でジョブを実行したりできます。
単一ノードのみを必要とする小規模なワークロードの場合、データサイエンティストはコスト削減のために単一ノードのコンピュートを使用できます。
詳細なヒントについては、 「コンピュート構成のベスト プラクティス」を参照してください。
管理者は、クラスターの作成を簡素化するため、指針となるクラスターポリシーを設定できます。
Databricks クラスターは、Apache Spark、Delta Lake など、すぐに使用できる多くの一般的なライブラリを提供する Databricks Runtimeを使用します。 また、ノートブックやジョブで使用する追加のサードパーティまたはカスタム ライブラリをインストールすることもできます。
Databricks Runtimeリリースノートのバージョンと互換性のデフォルトライブラリから始めます。プレインストールされているライブラリの完全な一覧については、「 Databricks Runtime リリースノートのバージョンと互換性」を参照してください。
Scala ライブラリをクラスターにインストールすることもできます。
詳細については、「 ライブラリ」を参照してください。
視覚 エフェクト
Databricks Scala ノートブックでは、さまざまな種類の 視覚化が組み込まれています。 従来のビジュアライゼーションを使用することもできます。
ジョブ
Databricks では、スケジュールされたジョブまたはトリガーされた ジョブ として Scala ワークロードを自動化できます。 ジョブはノートブックと JAR を実行できます。
UI を使用したジョブの作成の詳細については、「 ジョブの作成」を参照してください。
Databricks SDK を使用すると、プログラムでジョブを作成、編集、および削除できます。
Databricks CLI には、ジョブを自動化するための便利なコマンド ライン インターフェイスが用意されています。
IDE、開発者ツール、SDK
Databricks ノートブック内で Scala コードを開発するだけでなく、IntelliJ IDEA などの統合開発環境 (IDE) を使用して外部で開発することもできます。 外部開発環境と Databricks の間で作業を同期するには、いくつかのオプションがあります。
コード: Git を使用してコードを同期できます。 「Databricks Git フォルダーと Git の統合」を参照してください。
ライブラリとジョブ: ライブラリを外部で作成し、Databricks にアップロードできます。 これらのライブラリは、Databricks ノートブック内にインポートすることも、ジョブの作成に使用することもできます。 「 ライブラリ 」および「 Databricks ジョブの作成と実行」を参照してください。
リモートマシン実行: ローカルIDEからコードを実行して、インタラクティブな開発とテストを行うことができます。 IDE は Databricks と通信して、 Databricks クラスタで大規模な計算を実行できます。 たとえば、IntelliJ IDEA を Databricks Connect で使用できます。
Databricks には、自動化と外部ツールとの統合をサポートする一連の SDK が用意されています。 Databricks SDK を使用して、クラスターとライブラリ、コードとその他のワークスペース オブジェクト、ワークロードとジョブなどのリソースを管理できます。 Databricks SDK を参照してください。
IDE、開発者ツール、SDK の詳細については、「 開発者ツールとガイダンス」を参照してください。
関連リソース
Databricks アカデミー では、多くのトピックに関する自習型およびインストラクター主導のコースを提供しています。