こんにちは!
今回、Databricksを利用することになったのですが、いろいろ機能があるので、自分が直近使う範囲でまとめてみようかと思います。
この記事では、基本的な機能やCSVをNotebookから操作する等を行います。
連投する記事ではモデルの作成等も行う予定です。
各タブの機能について
Databricksを開くとサイドバーにいくつかのタブがあります。
現行バージョンの上から順に説明します。
Databricks Data Science & Engineering
今回利用するDatabricks Data Science & Engineeringについてです。
こちらは、ApacheSparkに基づく分析プラットフォームとされています。
Notebookを利用した共同作業等が可能になっています。
Create
Notebook,Table,Cluster,Jobを作成することができます。
これらについては以降の項目で触れることになるので割愛します。
Workspace
workspaceではディレクトリ構造でNotebookなどの作業ファイルを管理することができます。
先ほどのCreateで作成するNotebookはこのWorkspaceのいずれかに配置することになります。
Repos
Gitからリポジトリを複製して持ってこれます。
sys.path.append("/Workspace/Repos/<user-name>/<repo-name>")
のようにすることで、Notebookから参照することもできるようです。
Recents
最新の変更点等が確認できます。
Seach
Workspace内を検索できます。
Data
CSVやDBなどのデータを保存する部分になります。
上述したTableを作成する際はこの中に作成することになります。
Data内ではDBとファイルで管理するタブが分かれています。
ファイルはディレクトリ構造で管理することができ、簡単にNoteBookから参照することができます。
Compute
少し前までClusterというタブだったものです。
Clusterの作成や管理を行えます。
上述したClusterを作成するとここに追加されることになります。
Job
定期実行したりする場合はこのJobを使うことになります。
上述したJobを作成するとここに追加されることになります。
基本的な操作については以上です。
では実際にCSVデータを用意して読み込んでみます。
CSVファイルのUpload
localに適当なCSVファイルを用意してください。
DataタブのDBFSからUploadを選択し、任意のディレクトリにファイルをUploadします。
今回は/FileStore/testdata/test.csv
とします。
これでCSVは登録完了です。
では、このデータをNotebookから触ってみたいと思います。
Clusterの作成
まずはNotebookで利用するClusterを作成しましょう。
ComputeタブからCreate Cluster
を選択し、あたらしくクラスターを作成します。
クラスター名はtestClusterにしました。
ClusterModeはSingleNode、Runtimeは9.1LSTです。
Terminate…の項目では、利用していない時間がxx分経過したときに自動で停止してくれる設定です。
今回は30分にしました。
WorkertypeはStanderd_F4にしています。
Notebookの作成
Worckspaceを開き、任意の階層で右クリックすることでCreateのメニューが出てきます。
そこからNotebookを選び、作成します。
名称はtestbookとし、デフォルト言語をPythonにしました。
Clusterには先ほど作成したものを選択しましょう。
CSVのインポート確認
それでは、CSVが取得できるか確認してみましょう。
pandasが標準で入っているのでこれを利用してデータを表示してみようと思います。
まず、Clusterを開始する必要があります。こちらはComputeタブから特定のClusterを開いて実行することで確認できます。
import pandas as pd
print(pd.read_csv("/dbfs/FileStore/testdata/test.csv"))
こちらを実行するとファイルの中身が表示されると思います。
今回はSQLで操作できるように、一旦Tableに保存したいと思います。
from pyspark.sql.types import *
inputDF = spark.read.format("csv")\
.options(header="true", inferSchema="true")\
.load("/FileStore/testdata/test.csv") # FileStoreからでいいので注意
inputDF.createOrReplaceTempView('csvloadtest')
csvloadtest = inputDF
inputDF =…の部分で先ほどのCSVを読込み、createOrReplaceTempViewによってcsvloadtest
という名前で一時Viewを作成します。
これによりクエリでデータを確認することができます。
実際にSQL文でデータを見てみたいと思います。
%sql
SELECT * FROM csvloadtest
実行すると表が出てくると思います。
実行セル左下のグラフアイコンを押下することでグラフでの表示も可能です。
どの形式のグラフで表示するかも設定可能です。
PlotOptionではグラフで表示するデータを変更可能です。
Excelチックなので結構わかりやすいと思います。
##まとめ
今回はDatabricksにCSVデータをアップロードし、SQLでの操作確認まで行ってみました。
目標としてはモデルの作成までを理解したいので、次回はそちらを行っていこうかと思います。