5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Azure DatabricksでPythonとMeCabを使う

Last updated at Posted at 2020-05-07

本記事の目的

Azure Data Factoryの前処理で、MeCabを利用した簡単な自然言語処理(形態素解析+α程度)をしたい。
関数として実装して、後々LogicAppsとか色々なサービスから呼び出せれば便利そう。ということで2つの実装方法を検討した。

  1. Azure Functions (Azure FunctionsでPythonとMeCabを使う)
  2. Azure Databricks (本記事)

当面はAzure Functionsで十分そうだが、将来的に機械学習のように重たい処理を行う場面を想定すると、Databricksのサービスも把握しておきたい、ということでDatabricksも試してみた。

先に結論を書くと、
・Azure Databricks初心者は以下のMicrosoft Learn(無償)が分かりやすい

Azure Databricks を使用して Data Engineering を実行する
https://docs.microsoft.com/ja-jp/learn/paths/data-engineering-with-databricks/

・MeCabはクラスターに対して「mecab-python3」をPyPIでインストールすれば使える
・ブラウザでAzure PortalとDatabricksにアクセスすれば完結、ローカルの環境設定は不要

理解不足の点も多々あるので、間違いなどあればご指摘下さい。
適宜、修正・追記します。

Databricks概要

Apache Spark ベースの分析プラットフォーム。コンピューティングリソースを必要に応じてスケールアウトして分散処理することができる。

課金体系

やや分かりづらい部分もあるが、大まかに以下の2つに対する課金となる。

・クラスターにプロビジョニングされた仮想マシン (VM)
・選択した VM インスタンスに基づく Databricks の単位 (DBU)

ほかにマネージド ディスク、Blob Storage、パブリック IP アドレスにも少額だが課金される。

Azure Databricks の価格
https://azure.microsoft.com/ja-jp/pricing/details/databricks/

ちなみに14日間の「試用版」を利用した場合は、DBUに対する課金が免除。
一方、VMに対しては通常通り課金されるため注意が必要。

(Azureではない)Databricksであれば14日間、コンピューティングリソースも含めて無償で試せる。インターフェイスはAzure DatabricksもDatabricksも同じなので、こちらを試しても良いと思う。
https://databricks.com/try-databricks

言語

ノートブックを作成するタイミングで、Python, Scala, SQL, Rから選択できる。
Databricks Magic commandを利用することで、ノートブック内に複数の言語を混在させることも可能。
(セルの頭に %python と書いておくと、そのセルはpythonで実行してくれるなど)

Azure PortalからDatabricksを作成

普通にAzure Portalから検索して作成すれば、特に迷うことはない。

image.png

一点だけ、価格レベルをStandardにするかPremiumにするか迷うが、【ノートブック、ユーザー、およびクラスター構成は保持】した状態で、後で価格レベルの変更も可能らしいので、あまり神経質にならなくてよい。なおPremiumではアクセス制御や認証、監査ログの機能が強化される。

Azure Databricks ワークスペースのアップグレードまたは ダウングレード
https://docs.microsoft.com/ja-jp/azure/databricks/administration-guide/account-settings/account#upgrade-or-downgrade-an-azure-databricks-workspace

それと前述した通り、試用版を選んで使いまくっていると、VM料金でしっかり課金されるので注意。(DBU課金は免除)

Databricksでクラスタを作成

Databricksの展開が完了したら、リソースに移動してワークスペースを起動。
Databricksの画面からClustersを選択し、Create Clusterする。
image.png

プロビジョニングするVMの種類や数などを設定してClusterを作成。
image.png

DatabricksのクラスタにMeCabをインストール

作成したClusterに対して、詳細画面からLibraryのインストールが可能。
image.png

あとはPyPIなどでパッケージをインストールすればOK。
image.png

できた。
image.png

WorkspaceからNotebookを作成して使う

Workspace > Create > Notebook から、PythonでNotebookを作成。
あとはimport MeCabで形態素解析できる。
image.png

まとめ

FunctionsでPythonを使う場合と比較すると、全てWebで完結するので設定がすごく楽だった。
複数の担当者で管理する場合も、ローカル環境を合わせたりする必要もないので楽。

費用

デフォルトで指定されているインスタンス「DS3 v2」の費用は以下の通り。
インスタンスが起動されている時間(分単位)で課金される。

image.png

高負荷でスケールアウトされ、例えばコンピュートノード(Worker)の数が2倍になると課金額も2倍に増える。
(VMもDBUも費用が2倍になる)

Azure Databricks の価格
https://azure.microsoft.com/ja-jp/pricing/details/databricks/

5
2
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
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?