Amazon Web Services

Databricks Community Editionを使ってApache Sparkを無料で学ぶ

こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。

今回は、無料で使えるDatabricks Community Editionについて紹介します。

DatabricksのSpark実行環境として現在AWSまたはAzureを選ぶ事が出来ます。
AWS・Azure両方ともに14日間のフリートライアルが用意されます。

しかし、「14日間では学びきれないから無料でもっとSparkを勉強したい!」という方向けにCommunity Editionが用意されてます。

Sign Up for Databricks Community Edition

Community Editionでは商用版と比較して以下の制限があります。

・6GBメモリのインスタンス1台のみ作成可能(ワーカーノードは作れない)
・ノートブックの基本機能のみ利用可能(コラボレーション機能はない)
・ログインIDは3個まで作成可能
・選べるリージョンはus-west-2のみ

サインアップフォームに記入する

下記ページから申し込みます。
Sign Up for Databricks Community Edition

申し込み画面

必須入力項目は下記のものです。

First Name … 名
Last Name … 姓
Company Name … 会社名
Work Email … 会社のEメール. ここにメールアドレス確認用のリンクが記載されてメールが来る
What is your intended use case? … コミュニティエディションの利用目的
How would you describe your role? … 職種

以上を入力して、reCAPTCHAの「私はロボットではありません」をチェックしたら、「Sign Up」ボタンを押して送信します。

メールアドレスを確認する

しばらくすると、「Welcome to Databricks! Please verify your email address」という件名のメールが届きます。

メールアドレス確認のためのメールが届く

メール内のリンクをクリックするとユーザー登録完了です。

Databricks Community Editionにログインする

以下のログイン画面から入ります。
https://community.cloud.databricks.com/login.html

Databricks Community Editionのホーム画面

クラスターを作る

まずはSparkを実行するためのクラスタ(VM)を作成します。

左のメニューから[Clusters] > [Create Clusters]を開き、クラスター作成画面を開きます。

クラスターの作成

下記の情報を入力します。
選べる項目は少ないので、適当にクラスタの名前をつけて、クラスタをデプロイするAZをus-west-2リージョンの中から選んで作成します。

しばらくするとクラスタの状態が「Running」になるので、これで利用可能になりました。
※Community Editionでは、2時間操作がないクラスタは自動で停止します。

データセットをアップロードする

次に、今回テストで使うデータファイルをアップロードします。
今回はSparkのチュートリアルでよく使われるデータセットを利用します。

grouplensというサイトで公開されている、映画のレビュースコアのデータを使います。

MovieLens 100K Dataset
約1,000人のユーザーによる、およそ1,700作品の映画のレビュースコアが10万件格納されてるというCSVファイルを使います。
上記リンク先から「ml-100k.zip」というファイルをダウンロードして解凍します。

ml-100k.zipをダウンロード

zipファイルの解凍して、その中の「u.data」というファイルをDatabricksにアップロードします。

左のメニューから [Data] > [Add Data]を開きます。
下記のような画面が開くので、[File]のボックスに先程の「u.data」ファイルをドラッグ&ドロップします。

u.dataファイルをアップロード

「File uploaded to /FileStore/tables/u.data」というメッセージが出ればアップロード完了です。
※ここからテーブルを作る事も出来ますが、今回は作りません。

レビュースコアをカウントする

それではノートブックを開いて先程のデータセットを分析します。

左のメニューから[Workspace] > [Create] > [Notebook]を選びます。
下記のダイアログが出るので、ノートブックの名前をつけて、[Create]をクリックします。

これでノートブックが開きます。
ここのテキストエリアにScalaコードを入力してSparkを実行していきます。

ここでは簡単に先程の「u.data」の集計を行います。
ファイルの中身はこのようになってます。

データセットの中身

user id | item id | rating | timestamp

という順番でデータが並んでるのですが、今回は3番目のスコア(1〜5の5段階)だけを使います。
ササっと、「各スコア毎の件数」をカウントします。

このようなScalaコードを書いて実行します。

//ファイル読み込んでSparkのRDD形式にする
val lines = sc.textFile("/FileStore/tables/u.data")

//タブでsplitして3番目のカラム(ゼロベースで2番目)を取得
val rates = lines.map(x => x.toString().split("\t")(2))

//各スコア別にカウント
val results = rates.countByValue()

//多い順でソート
val sorted = results.toSeq.sortBy(_._2).reverse

//出力
sorted.foreach(println)

これの実行結果はこうなります。

(4,34174)
(3,27145)
(5,21201)
(2,11370)
(1,6110)

Scalaコードを実行

4点が34,174件で一番多いという結果になりました。

というわけで、こんなに簡単に無料Sparkを実行出来る環境が手に入った訳です。

ぜひ、Databricks Community Editionを使って気軽にSparkを始めましょう!

弊社はデジタルマーケティングからビッグデータ分析まで幅広くこなすデータ分析のプロ集団です。
お問合わせはこちらからどうぞ。

ブログへの記事リクエストはこちらまでどうぞ。

関連記事

  1. Databricks

    Databricks: Spark DataFrameでユーザー定義関数を使う

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

  2. Google BigQuery

    GCP: 今月のGCP課金額をslackに自動的に書き込む

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

  3. Adobe Analytics

    Adobe Mobile SDK 4.xからAEP SDKに移行する

    こんにちは、エクスチュアの権泳東(コン・ヨンドン)です。Ado…

  4. Firebase Analytics

    Firebase AnalyticsのデータをフラットなCSVに変換するETL処理

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

  5. Google Cloud Platform

    Google Compute Engine: 一定時間経過したらタスクを強制終了する

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

  6. Databricks

    Databricks: Spark RDDで使う主なメソッド

    こんにちは、エクスチュアの權泳東(権泳東/コン・ヨンドン)です。…

最近の記事

  1. KARTE – 「コンテキストイベント」を活用し…
  2. KARTE:最低限!KARTEの運用管理のためにやっておくこ…
  3. YOTTAA:新機能「Anomaly AI」のご紹介
  4. Tableau 2021.1 新機能紹介
  5. YOTTAA:ECサイトで見るべき8つのサイトパフォーマンス…
  1. Adobe Experience Cloud

    Adobe Experience Platformを調べてみた – …
  2. Tableau

    Tableau:2つの値の比較に便利な「ダンベルチャート」を作る
  3. Adobe Analytics

    Adobe AnalyticsとGoogle Analyticsの違い② サンプ…
  4. GA 360 Suite

    GoogleDataStudio:複数のデータソースにフィルターを適用する
  5. Google Tag Manager

    Google Tag Manager: 離脱リンクのクリックをトリガーにする
PAGE TOP