0
0

More than 1 year has passed since last update.

シングルノードのワークロードをDatabricksに移行する際の6つの疑問

Last updated at Posted at 2022-05-10

Migrate single node workloads to Databricks | Databricks on AWS [2022/1/24時点]の翻訳です。

Databricksクイックスタートガイドのコンテンツです。

本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。

本書では、シングルノードのワークロードをDatabricksに移行する際に生じる典型的な疑問に答えます。

20ノードのSparkクラスターを作成したのですが、私のpandasのコードが速くなりません。何が悪いのでしょうか?

シングルノードでの動作を前提としたライブラリを使用しており、Databricksに移行しても、これらは分散処理されません。Apache SparkのPython APIであるPySparkを使ってご自身のコードを書き直す必要があります。

あるいは、Apache Sparkデータフレームのデータにアクセスするために、pandasデータフレームAPIを使用できるPandas API on Sparkを活用することができます。

私が愛するアルゴリズムがsklearnにありますが、Spark MLではサポートしていません(例えば、DBSCAN)。どうすればこのアルゴリズムを使いつつSparkのメリットを活かせるのでしょうか?

  • Sparkクラスターでタスクを分散するためのjoblibのApache Sparkバックエンドであるjoblib-sparkを使用します。
  • pandasユーザー定義関数を使います。
  • ハイパーパラメーターチューニングにはHyperoptを使います。

Spark MLにおけるデプロイメントオプションには何がありますか?

ベストなデプロイメントの選択肢はアプリケーションのレーテンシーの要件に依存します。

pandasや他のライブラリをどのようにインストール、アップデートすることができますか?

ライブラリをインストール、アップデートする方法はいくつか存在します。

  • クラスターを利用する全てのユーザーが使用するライブラリをインストール、アップデートするにはクラスターライブラリを使います。
  • 特定のノートブックでのみPythonライブラリやライブラリのバージョンを使えるようにするには、ノートブックスコープライブラリを使います。

ドライバーノードからどのようにDBFSのデータを参照できますか?

ファイルパスの先頭に/dbfs/を追加してください。ローカルファイルAPIをご覧ください。

どのようにデータをDatabricksに取り込みますか?

注意
セルの出力には、Saving to: '<filename>'と表示されますが、実際には、file:/databricks/driver/<filename>に保存されます。

例えば、https://data.cityofnewyork.us/api/views/25th-nujf/rows.csv?accessType=DOWNLOADのファイルを以下のコマンドでダウンロードしたとします。

Bash
%sh wget https://data.cityofnewyork.us/api/views/25th-nujf/rows.csv?accessType=DOWNLOAD

このデータをロードするには以下を実行します。

Python
pandas_df = pd.read_csv("file:/databricks/driver/rows.csv?accessType=DOWNLOAD", header='infer')

Databricks 無料トライアル

Databricks 無料トライアル

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0