Scala 開発者向けの Databricks
この記事では、Scala 言語を使用して Databricks でノートブックとジョブを開発するためのガイドを提供します。 最初のセクションでは、一般的なワークフローとタスクのチュートリアルへのリンクを提供します。 2 番目のセクションでは、 APIs、ライブラリ、および主要なツールへのリンクを提供します。
基本的なワークフローは以下のとおりです。
- コードをインポートしてインタラクティブな Databricks ノートブックを使用して実行する: ファイルまたは Git リポジトリから独自のコードをインポートするか、以下のチュートリアルを試してください。
- クラスターでコードを実行する: 独自のクラスターを作成するか、共有クラスターを使用するアクセス許可があることを確認します。 ノートブックをクラスターにアタッチし、ノートブックを実行します。
さらに、より具体的なトピックに分岐できます。
- Apache Spark を使用した大規模なデータセットの操作
- 視覚化を追加する
- ジョブとしてワークロードを自動化
- IDEsで開発
チュートリアル
以下のチュートリアルでは、一般的なワークフローについて学習するためのサンプルコードとノートブックを提供します。 ノートブックの例をワークスペースにインポートする手順については、「 ノートブックのインポート 」を参照してください。
- チュートリアル:Apache Spark データフレームを使用したデータの読み込みと変換
- チュートリアル: Delta Lake は Scala の例を提供します。
- Databricks での XGBoost の使用 には、Scala の例があります。
参考
以下のサブセクションでは、Scala を使用して Databricks で開発を開始するのに役立つ主な機能とヒントを示します。
Scala API
これらのリンクでは、Apache Spark Scala API の概要とリファレンスを提供しています。
- チュートリアル:Apache Spark データフレームを使用したデータの読み込みと変換
- JSON 文字列のクエリ
- 構造化ストリーミングの概要
- Apache Spark Core API リファレンス
- Apache Spark ML API リファレンス
ノートブックと Databricks Git フォルダーでコードを管理する
Databricks ノートブックは Scala をサポートしています。 これらのノートブックは、Jupyter と同様の機能を提供しますが、ビッグデータを使用した組み込みビジュアライゼーション、デバッグとパフォーマンス モニタリングのための Apache Spark インテグレーション、機械学習エクスペリメントを追跡するための MLflow インテグレーションなどが追加されています。 ノートブックをインポートして開始します。クラスターにアクセスできるようになったら、ノートブックをクラスターに アタッチ して ノートブックを実行できます。
ノートブックの状態をリセットするには、カーネルを再起動します。 Jupyter ユーザーの場合、Jupyter の "カーネルの再起動" オプションは、Databricks でのノートブックのデタッチと再アタッチに相当します。 ノートブックでカーネルを再起動するには、ノートブックツールバーの コンピュートセレクタ をクリックし、リスト内の添付されたクラスターまたは SQLウェアハウスにカーソルを合わせると、サイドメニューが表示されます。 [デタッチして再アタッチ ] を選択します。これにより、ノートブックがクラスターから切り離されて再アタッチされ、プロセスが再開されます。
Databricks Git フォルダー を使用すると、ユーザーはノートブックやその他のファイルを Git リポジトリと同期できます。 Databricks Git フォルダーは、コードのバージョン管理とコラボレーションに役立ち、Databricks へのコードの完全なリポジトリのインポート、過去のノートブック バージョンの表示、IDE 開発との統合を簡略化できます。 まず、リモート Git リポジトリをクローンします。その後、リポジトリ クローンを使用してノートブックを開くか作成し、 ノートブックをクラスターにアタッチ して、 ノートブックを実行できます。
クラスター と ライブラリ
Databricks コンピュート は、単一ノードのクラスターから大規模なクラスターまで、あらゆる規模のクラスターのためのコンピュート管理を提供します。 クラスターハードウェアとライブラリは、必要に応じてカスタマイズできます。 通常data scientists、クラスターを作成するか、既存の共有クラスターを使用して作業を開始します。クラスターにアクセスできるようになったら、ノートブックをクラスターに アタッチ したり、クラスターでジョブを実行したりできます。
- 1 つのノードのみを必要とする小規模なワークロードの場合、 data scientists 1 つのノード コンピュート を使用してコストを節約できます。
- 詳細なヒントについては、「コンピュート構成の推奨事項」を参照してください
- 管理者は、 クラスターポリシー を設定して、クラスターの作成を簡素化し、ガイドすることができます。
Databricksクラスターでは、Databricks Runtime Apache SparkDelta Lake、 など、多くの一般的なライブラリをすぐに使用できる を使用します。また、ノートブックやジョブで使用する追加のサードパーティー製ライブラリまたはカスタムライブラリをインストールすることもできます。
- Databricks Runtime リリースノートのバージョンと互換性のデフォルト ライブラリから始めます。プリインストールされているライブラリの完全なリストについては、「Databricks Runtimeリリースノートのバージョンと互換性」を参照してください。
- Scala ライブラリをクラスターにインストールすることもできます。
- 詳細については、「 ライブラリ」を参照してください。
ビジュアライゼーション
Databricks Scala ノートブックには、さまざまな種類の 視覚化の組み込みサポートがあります。 従来のビジュアライゼーションを使用することもできます。
相互運用性
このセクションでは、Scala と SQL の相互運用性をサポートする機能について説明します。
ジョブ
Scala ワークロードは、Databricks でスケジュールされたジョブまたはトリガーされた ジョブ として自動化できます。 ジョブはノートブックと JAR を実行できます。
- UI を使用したジョブの作成の詳細については、「 Databricks ジョブの構成と編集」を参照してください。
- Databricks SDK を使用すると、プログラムでジョブを作成、編集、削除できます。
- Databricks CLI は、ジョブを自動化するための便利なコマンドライン インターフェイスを提供します。
IDEs、開発者ツール、SDK
ScalaDatabricksコードをノートブック内で開発するだけでなく などの統合開発環境 ()IDEs IntelliJ IDEAを使用して外部で開発することもできます。外部開発環境と Databricks の間で作業を同期するには、いくつかのオプションがあります。
- コード : Git を使用してコードを同期できます。 「Databricks Git フォルダーの Git 統合」を参照してください。
- ライブラリ and ジョブ : ライブラリを外部で作成し、 Databricksにアップロードできます。 これらのライブラリは、Databricks ノートブック内にインポートすることも、ジョブの作成に使用することもできます。「Databricks ジョブを使用した ライブラリ とオーケストレーション」を参照してください。
- リモートマシン実行 : ローカルIDEからコードを実行して、インタラクティブな開発とテストを行うことができます。 IDE は Databricks と通信して、 Databricks クラスターで大規模な計算を実行できます。 たとえば、 IntelliJ IDEA を Databricks Connect と共に使用できます。
Databricks には、自動化と外部ツールとの統合をサポートする一連の SDK が用意されています。 Databricks SDK を使用して、クラスターとライブラリ、コードとその他のワークスペース オブジェクト、ワークロードとジョブなどのリソースを管理できます。Databricks SDK を参照してください。
IDEs、開発者ツール、SDK の詳細については、「ローカル開発ツール」を参照してください。
追加のリソース
- Databricks Academyでは、多くのトピックについて、自分のペースで進められるインストラクター主導のコースを提供しています。