Azure Databricks を使ってみよう
Azure Databricks を使ってみよう:
Microsoft Japan Data Platform Tech Sales Team
大蔵 一功
今回は 2018 年 3 月に GA となった Azure Databricks をご紹介します。
“Azure Databricks は、Microsoft Azure クラウド サービス プラットフォームに最適化された Apache Spark ベースの分析プラットフォームです。Apache Spark の創始者たちと共に設計され、Azure に統合された Databricks では、ワンクリックでのセットアップと効率的なワークフローのほか、データ サイエンティスト、データ エンジニア、ビジネス アナリストが共同作業できるインタラクティブなワークスペースが実現されています。”
と説明しています。
その通りなのですが(誤解を恐れずに)もっと簡単に言ってしまうと、 Azure Databricks(以下、 Databricks ) は、(面倒な)クラスターの構築や管理を気にせずに、Spark を利用できるサービスです。Spark を利用する|したい目的は、インメモリ処理という特徴を活かした機械学習であったり、ストリーミング処理であるはずなのに、クラスターの構築や構築後のクラスター管理といった目的以外のタスクが重く、利用するまでのハードルが高いという印象をお持ちの方もいらっしゃると思います。Databricks をご利用いただくことで、そういった本来の目的以外のタスクを気にせずに、Spark をご利用いただくことが可能です。特にデータサイエンティストやデータアナリストの方には、おすすめのサービスです。
※ 利用可能リージョンについては、こちらをご覧ください。
デプロイが完了すると、作成した Databricks の Overview にリンク (Launch Workspace) が表示されます。リンクをクリックすると Azure Databricks ポータルにリダイレクトされます。Databricks の操作は、こちらのポータルから行います。
クラスター作成時に選択する項目を表にしました。
Autoscaling と Auto Termination は、 Databricks の特徴的な機能です。 Autoscaling を有効にした場合、処理実行時のリソースの利用状況に応じて、最大 MAX Workers で設定した Worker 数まで自動的にスケールします。ジョブ実行が終了すると Min Workers で設定した Worker 数に戻ります。Auto Termination は、設定した時間の間、クラスターに対して処理が実行されなければ、クラスターを停止します。再開する場合は、 Workspace のクラスター画面からを ”Start” する、あるいはノートブックからスタートすることも可能です。Auto Termination を設定ただくことで、利用していない間の課金を抑えることができます。
必要な項目を入力後、[Create Cluster] をクリックし、しばらく待てばクラスターがプロビジョニングされます。
Notebook の名前、使用する言語、ノートブックに記述した処理を実行するクラスターを選択し、ノートブックを作成します。ノートブックが作成されれば、Jupyter Notebook のように処理を記述し、インタラクティブに実行することができます。
作成したノードブックの左上にはクラスターが表示されています。ノートブックからクラスターを Attach / Detach をすることができるので、処理を実行するクラスターを任意で変更することが可能です。
今後は、 Databricks の各機能、 Azure 他サービスとの接続や権限周りについて触れていきます。
セッション動画 : 【de:code 2018】DA10 ~ビッグデータとAIのスケーラブルなサービス基盤~ Azure Databricks とは何なのか
この記事は、2018 年 6 月 19 日 に Data Platform Tech Sales Team Blog にて公開された内容です。
Microsoft Japan Data Platform Tech Sales Team
大蔵 一功
今回は 2018 年 3 月に GA となった Azure Databricks をご紹介します。
Azure Databricks とは
公式ドキュメントの冒頭では、“Azure Databricks は、Microsoft Azure クラウド サービス プラットフォームに最適化された Apache Spark ベースの分析プラットフォームです。Apache Spark の創始者たちと共に設計され、Azure に統合された Databricks では、ワンクリックでのセットアップと効率的なワークフローのほか、データ サイエンティスト、データ エンジニア、ビジネス アナリストが共同作業できるインタラクティブなワークスペースが実現されています。”
と説明しています。
その通りなのですが(誤解を恐れずに)もっと簡単に言ってしまうと、 Azure Databricks(以下、 Databricks ) は、(面倒な)クラスターの構築や管理を気にせずに、Spark を利用できるサービスです。Spark を利用する|したい目的は、インメモリ処理という特徴を活かした機械学習であったり、ストリーミング処理であるはずなのに、クラスターの構築や構築後のクラスター管理といった目的以外のタスクが重く、利用するまでのハードルが高いという印象をお持ちの方もいらっしゃると思います。Databricks をご利用いただくことで、そういった本来の目的以外のタスクを気にせずに、Spark をご利用いただくことが可能です。特にデータサイエンティストやデータアナリストの方には、おすすめのサービスです。
利用開始
まずは、 Azure Portal から ”Databricks” と検索し、デプロイを開始します。ワークスペースの名前、サブスクリプション、リソースグループ、価格帯 (Standard / Premium) を入力、選択します。価格帯の Standard と Premium の主な違いは、 Premium では Databricks 内部のリソースに RBAC を設定できる点です。詳しくは、こちらをご覧ください。とりあえず一人で触ってみる場合は、 Standard で問題ないと思います。※ 利用可能リージョンについては、こちらをご覧ください。
デプロイが完了すると、作成した Databricks の Overview にリンク (Launch Workspace) が表示されます。リンクをクリックすると Azure Databricks ポータルにリダイレクトされます。Databricks の操作は、こちらのポータルから行います。
クラスターの作成
まず最初にクラスターの作成を行います。 Workspace ホームの [Cluster] か、左側のウィンドウから [Clusters] – [Create Cluster] でクラスター作成画面に移動します。クラスター作成時に選択する項目を表にしました。
# | 設定項目 | 説明 |
1 | Cluster Mode | デフォルトは Standard 。Serverless Pool を選択した場合、Spark SQL と Python と Rのみの利用 |
2 | Cluster Name | クラスターの名前(任意) |
3 | Databricks Runtime Version | Databricks のランタイムのバージョン。Spark のバージョンと利用したいインスタンスあわせて選択する |
4 | Python Version | クラスターの Python のバージョンを選択 |
5 | Driver Type | Driver Node のインスタンスを選択。デフォルトは Worker Node と同じインスタンス |
6 | Worker Type | Worker ノードのインスタンスを選択。 |
7 | Min Workers / Max Workers | Autoscaling を有効にした場合、最小の Woker 数と最大の Worker 数を選択 |
8 | Auto Termination | 設定した時間内にクラスターに対して処理が実行されてない場合、クラスターを停止 |
必要な項目を入力後、[Create Cluster] をクリックし、しばらく待てばクラスターがプロビジョニングされます。
ノートブックの作成
次にノートブックを作成を行います。 Workspace ホームの、左側のウィンドウから [Home] を選択し、Workspace 右側にある矢印をクリックし、[Create] – [Notebook] を選択します。Notebook の名前、使用する言語、ノートブックに記述した処理を実行するクラスターを選択し、ノートブックを作成します。ノートブックが作成されれば、Jupyter Notebook のように処理を記述し、インタラクティブに実行することができます。
作成したノードブックの左上にはクラスターが表示されています。ノートブックからクラスターを Attach / Detach をすることができるので、処理を実行するクラスターを任意で変更することが可能です。
最後に
すでに、Azure では HDInsight という Hadoop サービスを提供しています。Databricks と HDInsight の主な違いは、以下です。-
Databricks はクラスターの停止が可能(停止中は課金されない) -
Databricks はオートスケール設定が可能 -
Databricks では、 Spark のみ利用可能 -
HDInsight では、Spark だけでなく、 HBase / Kafka / Hive LLAP / Storm など目的に応じてクラスターの種類を選択可能
今後は、 Databricks の各機能、 Azure 他サービスとの接続や権限周りについて触れていきます。
参考情報
Webiner : アプリケーション開発者のためのAzure Databricks入門セッション動画 : 【de:code 2018】DA10 ~ビッグデータとAIのスケーラブルなサービス基盤~ Azure Databricks とは何なのか
コメント
コメントを投稿