APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

Databricks-02. クラスターの作成からコードの実行まで

はじめに

GLB事業部Lakehouse部の阿部です。
Databricks Lakehouse Platformの基本的な機能について解説します。
Databricksではコードの実行にはノートブックを使用しますが、その前に前準備としてクラスターを作成する必要があります。
本記事では、クラスターの作成からノートブックの作成、そしてコードを実行するまでの手順について解説します。

※Databricksのワークスペースを作成した前提で書いておりますので、
 作成方法について知りたい方は以下の記事を参考にしていただければと思います。

Databricks on AWSのセットアップとワークスペースの作成

日本語UIへの変更

まずはUIの言語を日本語に設定します。
日本語UIへの設定が既に完了している方や、英語のまま進めたい方は読み飛ばしてください。

ワークスペースのホーム画面右上のアカウントからユーザー設定をクリックし、言語設定のページに移動します。
次に使用言語を変更のプルダウンから日本語を選択します。

以上で設定言語を日本語に変更しました。
次に、コマンドを実行するためにはクラスターを作成する必要があります。
クラスターを簡単に説明すると、データパイプライン作成や各種分析等のワークロードの実行に必要な計算リソースまたは構成のことです。
クラスターについて詳しく知りたい方は、公式ドキュメントを参照してみてください。

クラスターについて

クラスターの作成と起動

それではクラスターの作成から起動までの手順を以下に示します。
1. 左サイドバーのコンピューティングをクリックし、クラスターのページに移動
2. コンピューティングを作成のボタンをクリック
3. クラスターモードを選択
 マルチノードとシングルノードがありますが、シングルノードに設定します。
4. クラスターを作成をクリック

手順1, 2: クラスター作成の画面

手順3, 4: クラスターの設定と作成

クラスター作成の画面ではパフォーマンスやタグ等の設定がありますが、とりあえずデフォルトのままで大丈夫です。
前のクラスターの一覧画面に戻り、クラスターが作成されたかどうか確認します。
※クラスターの作成には数分要します。

クラスターが作成されました。
クラスター名の左のアイコンが緑になっているとクラスターの作成が確認できます。

※クラスター作成の際に設定した非アクティブ状態が120分経過すると停止します。
 クラスター起動中は画面右端の一番右の項目が停止マーク(■)となり、 停止中は再生マーク(▶)となりますので、クリックして起動してください。
クラスターを起動する場合は、再生マーク(▶)をクリックするか、後述するノートブックのページでもクラスターの起動ができます。

ノートブックでコードを動かしてみる

クラスターを作成後、ノートブックを新規作成します。
ワークスペースのUsersから自分のユーザー名を選択し、ユーザー名の上で右クリックすると操作一覧が表示されます。
作成からノートブックを選択します。

ノートブックを作成のポップアップが表示されますので、ノートブックの名前を入力します。
デフォルト言語はノートブックで使用する言語であり、Python、SQL、Scala、Rから選択できます。
ここではPythonにしておき、クラスターは先ほど作成したものを選択して作成をクリックします。

ノートブックの画面に移動します。

クラスターが起動していることを確認後、コードを記述して動作確認しましょう。
コードはセルに記述し、セルの実行はctrl+enter (macの場合はctrl+return)で行います。
以下コードを実行します。

print("Hello Databricks")

クラスターを起動せずに実行した場合は、ノートブックにアタッチするクラスター選択の画面が表示されます。
もしくは、最近使用したクラスターに自動接続します。

実行結果が確認できました。
実行後の画面にはコマンド所要時間や実行者、実行日、実行に使用したクラスターが表示されます。

MAGICコマンドについて

ここからはノートブックの実行に重要なMAGICコマンドについて解説します。
MAGICコマンドはDatabricks固有のコマンドであり、ノートブックのデフォルト以外の言語を使用したり、別のノートブックの処理を呼び出して実行することができます。
各MAGICコマンドについて紹介していきます。

言語MAGICについて

言語MAGICは、ノートブックのデフォルト以外の言語でのコード実行時に使用するコマンドです。
先ほどノートブックを新規作成する際にデフォルト言語をPythonに設定しました。
※ノートブックタイトルの横にノートブック内での言語が表示されており、こちらからデフォルト言語の変更もできます。

言語MAGICを使うシーンですが、例えば、あるノートブックでは分析用にPythonをメインで使用しているが、一時的にsqlでテーブルデータを参照したい場合が考えられます。
sqlを使う場合は%sqlとコードの始めに記載することで、そのセル内での言語をsqlに変更できます。
例としてワインについてのテーブルを作成・参照までのコードを実行します。

%sql
CREATE TABLE wine
  (alcohol FLOAT, 
  color STRING, 
  volume FLOAT, 
  delicious BOOLEAN);
INSERT INTO 
  wine VALUES
  (15.1, 'red', 150, true),
  (12.6, 'white', 180, true),
  (10.9, 'amber', 40, false);
SELECT 
  * 
From 
  wine

実行結果

テーブルを作成できました。
このように言語MAGICを最初に付け加えるとデフォルト言語との切り替えができます。

%runコマンド

セルの先頭に%runと記載することで、現在使用しているノートブックから別のノートブックのファイルを呼び出して実行できます。
例えば、カレントディレクトリの一つ上のフォルダsampleの中にあるtest1というノートブックのファイルを実行したいとします。
その場合は以下の様に記述します。

%run ../sample/test1

使用シーンとしては、カレントディレクトリとは別のディレクトリからビューを作成し、参照する場合が考えられます。

%mdコマンド

セルの先頭に%mdと記載すると、Markdawn記法に変更できます。
Markdawn記法については知っている方も多いと思いますので、説明は割愛いたします。

押さえておきたいショートカットキー

最後にセルの実行をはじめとしたショートカットキーの一例を紹介します。
escを押してコマンドモードにした後、ショートカットキーでセルの追加や削除が可能です。
普段ノートブックを使っている人は馴染みがあると思います。

ショートカットキーの一例

  • A: 上にセルを追加する
  • B: 下にセルを追加する
  • DD: セルを削除する
  • K: 上のセルを選択する
  • J: 下のセルを選択する
  • Z: セルの削除をやり直す
  • ctrl+c: セルをコピーする
  • ctrl+v: セルをペーストする

他にも気になる方はノートブックタイトルの下にヘルプメニューがありますので、そちらから確認してみてください。

おわりに

クラスターの作成からコードの実行まで行いました。
これからも基本的な操作から踏み入った検証まで実施したいと思います。
ご覧いただき、ありがとうございました。

私たちはDatabricksを用いたデータ分析基盤の導入から内製化支援まで幅広く支援をしております。
もしご興味がある方は、お問い合わせ頂ければ幸いです。

www.ap-com.co.jp

また、一緒に働いていただける仲間も募集中です!
APCにご興味がある方の連絡をお待ちしております。

www.ap-com.co.jp