7
3

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 1 year has passed since last update.

ローカルマシンからDatabricksにデータをアップロードして読み込む

Last updated at Posted at 2022-05-25

Databricksクイックスタートガイドのコンテンツです。

自分で振り返ってみても、Databricksを学び始めた頃「ローカルマシンからデータをDatabricksにアップロードして、読み込む時ってどうするんだっけ?」となっていたので、手順をまとめました。

こちらでは、以下のデータをローカルにダウンロードし、Databricksにアップロードする流れを説明します。

国勢調査 時系列データ CSV形式による主要時系列データ | ファイル | 統計データを探す | 政府統計の総合窓口

データのダウンロード

以下のリンクをクリックすると、CSVファイルc01.csvがローカルマシンにダウンロードされます。こちらのデータは都道府県別の年ごとの人口推移となっています。

CSVのダウンロード

Databricksにおけるデータの格納場所

Databricksをデプロイする際にS3の設定を行なっており、Databricksで使用するデータはこちらのS3バケットに格納されます。DatabricksからS3のデータにアクセスする際には、Databricksファイルシステム(DBFS) 経由でアクセスすることになります。DBFSを利用することで、S3のURLなどを意識することなしに、フォルダー、ファイルの概念でファイルを操作することができます。

DBFSのアクセス権に関する重要な情報
DBFSルートを除き、DBFSにマウントされたオブジェクトストレージのオブジェクトに対してすべてのユーザーが読み書きのアクセス権を持ちます。

しかし、インスタンスプロファイルを用いてマウントが作成されている場合、IAMロールが許可するユーザーのみがアクセス権を持ち、当該インスタンスプロファイルを使用するように設定されたクラスターのみがアクセスすることができます。このため、インスタンスプロファイルを用いて作成されたマウントにはDBFS CLIでアクセスすることはできません。

インスタンスプロファイルを用いたS3バケットのマウントに関しては、DBFSを通じたS3バケットへのアクセスをご覧ください。

参考資料

データのアップロード

手元のマシンにある小規模なデータをDatabricksで分析したい場合には、UIを用いてDBFSにデータをインポートすることができます。

注意
以下の手順2でDBFSが表示されない場合、以下の手順でDBFSブラウザーを有効化してください。

  1. 管理者ユーザーでDatabricksにログインし、サイドメニューの設定 > 管理コンソール(Admin console) を選択します。
    Screen Shot 2022-05-25 at 18.10.28.png
  2. Workspace settingsタブを開きます。
    Screen Shot 2022-05-25 at 18.10.40.png
  3. AdvancedセクションにあるDBFS File Browserの右のスイッチを切り替えてEnabledになることを確認します。
    Screen Shot 2022-05-25 at 18.10.54.png
  1. 画面左のをクリックします。
  2. 画面上部のDBFSをクリックし、DBFSのブラウザーに切り替えます。
  3. 画面上に表示されるアップロードボタンをクリックします。
    Screen Shot 2022-05-25 at 16.06.18.png
  4. アップロード用のダイアログが表示されます。アップロード先のパスを指定して、ファイルをドラッグアンドドロップする流れとなります。
    Screen Shot 2022-05-25 at 16.07.12.png
    • 選択ボタンをクリックすると、フォルダーブラウザが開くのでアップロードしたいフォルダーを選択します。あるいはパスを入力します。
  5. ファイルのボックスに、データのダウンロードでダウンロードしたCSVファイルをドラッグアンドドロップします。あるいは、ボックスをクリックしてファイル選択ダイアログを開いてファイルを選択します。
    Screen Shot 2022-05-25 at 16.19.22.png
  6. DBFSブラウザを参照して、ファイルがアップロードされたことを確認します。
    Screen Shot 2022-05-25 at 16.22.49.png
  7. ファイル名の右にある▼をクリックするとメニューが表示されるので、パスをコピーをクリックします。
    Screen Shot 2022-05-25 at 16.24.08.png
  8. ファイルのパスが表示されます。ここでは、Spark API形式の方のコピーをクリックして、パスをコピーしておきます。ここでは二つの形式の違いは説明しませんが、興味のある方はこちらを参照してください。
    Screen Shot 2022-05-25 at 16.26.17.png

ティップス
ノートブックのメニューからもデータをアップロードすることができます。

  1. ノートブックを開き、上部のメニューからファイル > データをアップロードを選択します
    Screen Shot 2022-05-25 at 18.18.51.png
  2. ダイアログが表示されるので、アップロード先とファイルを選択します。
    Screen Shot 2022-05-25 at 18.19.07.png

参考資料

データの読み込み

上のステップを経て、データをDatabricksにアップロードしたので、Databricksノートブックで読み込みます。アップロードしたファイルの文字コードがshift-jisなの文字レコードセットを指定しています。

注意
以下のfile_pathの値を上のステップでコピーしたパスで置き換えてください。

Python
file_path = "dbfs:/FileStore/shared_uploads/takaaki.yayoi@databricks.com/c01.csv"
df = spark.read.option("header", True).option('charset', 'shift-jis').csv(file_path)
Python
# データフレームの表示
display(df)

Screen Shot 2022-05-25 at 16.47.13.png

これでデータを読み込めましたので、いろいろな分析にトライしてみてください!

Databricks 無料トライアル

Databricks 無料トライアル

7
3
2

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
7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?